Вот тестовый скрипт:
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
Это ошибка?