多个对象之间的PyQT事件

0 投票
2 回答
804 浏览
提问于 2025-04-15 15:24

我正在用Python/PyQT创建一个图形界面程序,想知道怎么把子对象发生的事件连接到父对象上。

举个例子,如果有人点击了一个“提交”按钮,我该怎么让父对象做点什么,比如更新父对象上的一个QLabel。

任何帮助都非常感谢。

L

2 个回答

0

每次你设置新的父级时,必须连接这些方法(并且要移除旧的连接!)
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html#connect
(如果你更改了控件的父级,但仍然希望新的父级接收信号)

不过,如果你的布局是固定的,只需给你的控件起个好名字。然后把每个信号连接到一个可调用的函数(任何Python函数),这个函数会改变QLabel的内容。
在这种情况下,父子关系并没有影响,因为你是通过名字来引用控件,而不是通过它们的关系。

4

这就像在C++的Qt中一样,通过连接信号和槽来实现。你可以在这个页面找到所有相关信息(还有这里是关于旧方法的)。

撰写回答