[PyKDE] Generating dropdown list dynamically
jeff_barish at earthlink.net
Mon Apr 11 05:07:54 BST 2005
I would like to generate a readonly dropdown list dynamically. I catch
the focusInEvent, which gets triggered when I click on the down arrow
of the box. At this point, I would generate the contents of the
listbox and use QListBoxText to enter it. However, when I select one
of the items in the dropdown list, I get another focusInEvent. It's
critical that I not get a second focusInEvent after the listbox has
been created as I don't want to create the list a second time. I tried
setting the focus proxy on the combobox to None, figuring that the
second focusInEvent was coming from the listbox. I tried setting the
focus policy to NoFocus (on both the the combobox and the listbox). I
tried setting the focus policy of the combobox to NoFocus after
receiving the first focusInEvent and then turning it on again after the
selection of the item. I tried setting the focus policy of the main
window to NoFocus. Nothing I do suppresses the second focusInEvent.
I'm apparently barking up the wrong tree.
Remember that I'm the troglodyte using version 2.3.2 (because that's all
that's available for the Zaurus). But at least I found the
documentation for this version at Trolltech.
from qt import *
def __init__(self, *args):
self.cb = MyComboBox(self)
for i in range(3): self.cb.insertItem("item %d" % i)
QObject.connect(self.cb, SIGNAL('activated(int)'), self.clicked)
def clicked(self, index):
print 'Received click on index =', index, 'with text:',
print 'Received focusInEvent'
def __init__(self, parent):
self.lb = self.listBox()
def focusInEvent(self, event):
print 'in focusInEvent'
app = QApplication(args)
win = MainWindow()
app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
if __name__ == "__main__":
More information about the PyQt