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.
54 lines
1.9 KiB
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.'
|
|
|