我正在将 Visual Basic 6 程序移植到 PyQt。
我需要调用一个函数来设置某些小部件始终启用/禁用,我不想调用一个函数太多次,所以我发现了一个事件,当焦点从一个小部件更改为另一个小部件时,我可以调用我的小部件管理器功能。
我正在 PyQt 中寻找同样的东西,但没有成功。任何想法?
不确定您是在谈论小部件的窗口获得/失去焦点还是嵌入另一个获得/失去键盘焦点的小部件,但这里适用于两种情况
class MyWidget(QtGui.QWidget):
def __init__(self, parent = None):
super(MyWidget, self).__init__(parent)
self.installEventFilter(self)
def eventFilter(self, object, event):
if event.type() == QtCore.QEvent.WindowActivate:
print "widget window has gained focus"
elif event.type()== QtCore.QEvent.WindowDeactivate:
print "widget window has lost focus"
elif event.type()== QtCore.QEvent.FocusIn:
print "widget has gained keyboard focus"
elif event.type()== QtCore.QEvent.FocusOut:
print "widget has lost keyboard focus"
return False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)