[PyQt] setting Popup windowFlag causes system to become unresponsive

Baz Walter bazwal at ftml.net
Fri Nov 27 20:17:00 GMT 2009


Jugdish wrote:
> For some reason if I set the windowFlag "Popup" on a QListWidget, the widget
> takes modal focus and it is impossible to give focus back to any widget. In
> fact, my entire system becomes unresponsive. Only the QListWidget responds
> to input, and I have no way of killing the process. Here is a very stripped
> down example of this problem:
> 
> ##############################
> from PyQt4 import QtCore, QtGui
> 
> app = QtGui.QApplication([])
> 
> w = QtGui.QListWidget()
> w.setWindowFlags(QtCore.Qt.Popup)
> w.addItems(["foo","bar","baz"])
> 
> button = QtGui.QPushButton("Click Me")
> QtCore.QObject.connect(button, QtCore.SIGNAL("clicked()"), w.show)
> button.show()
> 
> app.exec_()
> ##############################
> 
> When I run this bit of code and click on the button, a QListWidget pops up
> on top of everything. I can select each of the 3 items in the list as
> expected, but if I click anywhere outside the QListWidget, nothing responds,
> not even if I try to click on items in the taskbar or the windows for other
> running apps! It has something to do with it being a QListWidget, because if
> I change it to just a QWidget, I can click outside of it and things still
> respond.
> 
> Am I doing something wrong or is this a bug?

for obvious reasons, i have no interest in testing your code ;-)

but anyway: why aren't you using a QMenu, if you want a popup list?



More information about the PyQt mailing list