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.'