这是一个测试脚本:
import sys
from PyQt4 import QtGui
class Form(QtGui.QDialog):
def __init__(self, parent):
QtGui.QDialog.__init__(self, parent)
layout = QtGui.QFormLayout(self)
for i in range(5):
widget = QtGui.QLineEdit()
widget.setObjectName('line_edit_%i' % i)
layout.addRow(QtGui.QLabel('label_%i' % i), widget)
self.setLayout(layout)
app = QtGui.QApplication(sys.argv)
def onFocusChanged(old, new):
print('onFocusChanged: old = %s, new = %s' % (old and old.objectName() or None , new and new.objectName() or None))
app.focusChanged.connect(onFocusChanged)
mainWindow = QtGui.QMainWindow(None)
mdiArea = QtGui.QMdiArea()
mdiArea.setDocumentMode(True)
mainWindow.setCentralWidget(mdiArea)
subWindow = QtGui.QMdiSubWindow()
subWindow.setWidget(Form(None))
mdiArea.addSubWindow(subWindow)
mainWindow.show()
app.exec_()
问题在于,当我不断点击子窗口标题以最大化并恢复它时,焦点会切换到子窗口中的下一个窗口小部件。
我制作了一段视频:http://www.youtube.com/watch?v=L26GqIBkQW8
这是一个错误吗?