You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytde/examples/pykde-sampler/dialogs/input.py

88 lines
3.3 KiB

iconName = 'editclear'
labelText = 'KInputDialog'
from qt import QFrame, QGridLayout, QLabel, QStringList, SIGNAL
from kdecore import i18n
from kdeui import KPushButton, KInputDialog, KTextEdit
helpText = ("KInputDialog allows the programmer to display a simple dialog to "
"request a bit of text, an integer value, a double value, or a "
"list item from the user.")
class MainFrame(QFrame):
items = ['Apples', 'Bananas', 'Mangos', 'Oranges', 'Pears', ]
def __init__(self, parent=None):
QFrame.__init__(self, parent)
self.help = KTextEdit(helpText, '', self)
layout = QGridLayout(self, 5, 2, 4) # five rows, two cols, four px spacing
layout.setRowStretch(0, 10)
layout.setColStretch(1, 10)
layout.addMultiCellWidget(self.help, 0, 1, 0, 1)
button = KPushButton(i18n('Get Text'), self)
self.connect(button, SIGNAL('clicked()'), self.getText)
self.getTextLabel = QLabel('text value', self)
layout.addWidget(button, 2, 0)
layout.addWidget(self.getTextLabel, 2, 1)
layout.setRowStretch(2, 0)
button = KPushButton(i18n('Get Integer'), self)
self.connect(button, SIGNAL('clicked()'), self.getInt)
self.getIntLabel = QLabel('0', self)
layout.addWidget(self.getIntLabel, 3, 1)
layout.addWidget(button, 3, 0)
layout.setRowStretch(3, 0)
button = KPushButton(i18n('Get Double'), self)
self.connect(button, SIGNAL('clicked()'), self.getDouble)
self.getDoubleLabel = QLabel('0.0', self)
layout.addWidget(self.getDoubleLabel, 4, 1)
layout.addWidget(button, 4, 0)
layout.setRowStretch(4, 0)
button = KPushButton(i18n('Get Item'), self)
self.connect(button, SIGNAL('clicked()'), self.getItem)
self.getItemLabel = QLabel(self.items[0], self)
layout.addWidget(button, 5, 0)
layout.addWidget(self.getItemLabel, 5, 1)
layout.setRowStretch(5, 0)
def getText(self):
title = 'KInputDialog.getText Dialog'
label = 'Enter some text:'
default = self.getTextLabel.text()
value, accepted = KInputDialog.getText(title, label, default)
if accepted:
self.getTextLabel.setText(value)
def getInt(self):
title = 'KInputDialog.getInteger Dialog'
label = 'Enter an integer:'
default = int('%s' % self.getIntLabel.text())
value, accepted = KInputDialog.getInteger(title, label, default)
if accepted:
self.getIntLabel.setText('%s' % value)
def getDouble(self):
title = 'KInputDialog.getDouble Dialog'
label = 'Enter a double:'
default = float('%s' % self.getDoubleLabel.text())
value, accepted = KInputDialog.getDouble(title, label, default, -10.0, 10.0)
if accepted:
self.getDoubleLabel.setText('%s' % value)
def getItem(self):
title = 'KInputDialog.getItem Dialog'
label = 'Select an item:'
current = self.items.index('%s' % self.getItemLabel.text())
selections = QStringList()
for item in self.items:
selections.append(item)
value, accepted = KInputDialog.getItem(title, label, selections, current)
if accepted:
self.getItemLabel.setText('%s' % value)