我正在研究一个用wxpython编写的运行良好的程序。我需要使用PySide重写它。所以我需要在PySide中找到替换命令。
self.tc.Bind(wx.EVT_SET_FOCUS, self.HelpMessages(field))
这是我遇到的问题之一。我知道这意味着一个事件,当一些东西通过鼠标点击获得焦点时,它会触发self.HelpMessages
。但PySide中的哪个命令可以获得类似的效果?同样,是否有任何命令可以替换丢失的焦点,如下所示?
self.tc.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)
我必须处理的另一个问题是这个问题。
self.tc = wx.lib.intctrl.IntCtrl(self.parent, -1, field[con.ConfigFields.VALUE], pos=(x+220, y-3), size=(200, -1), allow_none=True)
基于文档wx.lib.inctrl.IntCtrl
提供了一个控件,它接受并返回整数作为值,并提供边界支持和可选的值限制。
PySide也有类似的功能吗?
我知道这两个问题是零碎的。如果你能给我一些例子,那真是太好了。
答案 0 :(得分:0)
可能最简单的方法是在PyQt中搜索焦点事件。 PySide只是PyQt的一个端口,所以你只需稍微改变一下导入就可以使PyQt中的大多数例子都适用于PySide。无论如何,我找到了以下链接:
我相信您需要做的就是调用QMainWindow的setFocusPolicy并连接以下信号:
QObject.connect(app, SIGNAL("focusChanged(QWidget *, QWidget *)"), changedFocusSlot)
然后你应该能够检测焦点事件。