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/basic_widgets/historycombo.py

54 lines
1.9 KiB

from qt import Qt, QFrame, QHBoxLayout, QVBoxLayout, QStringList, QLabel, \
SIGNAL, SLOT
from kdeui import KHistoryCombo, KTextEdit
iconName = 'history'
labelText = 'KHistoryCombo'
docParts = ('kdeui', 'KHistoryCombo')
helpText = ('An example of the KHistoryCombo widget.'
'\n\n'
'Completion is enabled via the setHistoryItems call; when the second '
'parameter is True, matching items from the list appear as you type.'
'\n\n'
'The activated signal is connected to the addToHistory '
'slot to automatically add new items.')
historyText = 'a quick brown fox jumps over the lazy dog'
class MainFrame(QFrame):
def __init__(self, parent=None):
QFrame.__init__(self, parent)
self.help = KTextEdit(helpText, '', self)
self.historyCombo = KHistoryCombo(self)
self.historySelectionLabel = QLabel('Selected value: ', self)
self.historySelection = QLabel('(none)', self)
items = QStringList()
for item in historyText.split():
items.append(item)
self.historyCombo.setHistoryItems(items, True)
layout = QVBoxLayout(self, 4)
layout.addWidget(self.help, 3)
layout.addStretch(1)
selectionLayout = QHBoxLayout(layout, 4)
selectionLayout.addWidget(self.historySelectionLabel, 1)
selectionLayout.addWidget(self.historySelection, 10, Qt.AlignLeft)
layout.addWidget(self.historyCombo, 0)
layout.addStretch(10)
self.connect(self.historyCombo, SIGNAL('activated(const QString& )'),
self.historyCombo, SLOT('addToHistory(const QString&)'))
self.connect(self.historyCombo, SIGNAL('cleared()'),
self.historyCleared)
self.connect(self.historyCombo, SIGNAL('activated(const QString &)'),
self.historySelection.setText)
def historyCleared(self):
print 'History combo cleared.'