Pyside (Qt) - 如何查询信号
Posted
技术标签:
【中文标题】Pyside (Qt) - 如何查询信号【英文标题】:Pyside (Qt) - How to query signal 【发布时间】:2017-02-21 21:40:24 【问题描述】:我需要查询与“textEdited”连接相关的信号,但找不到方法。
# How the signal was created
myLineEditWidget.textEdited.connect(theSignalIwantToQuery)
感谢您的帮助
【问题讨论】:
你能更好地解释你的问题吗 我想查询连接到一个Widget发出的信号的函数 “查询函数”是什么意思? 基本上我想将“textEdited”信号转换为“returnPressed”信号,并连接相同的功能。我无法修改源代码,因此我需要在创建小部件和连接后执行此操作。 【参考方案1】:信号不可查询。它们会立即调用它们所连接的函数。语法也不是那样工作的。它可以工作like this。
鉴于此代码:
def myFunction(self, text):
print text
myLineEditWidget.textEdited.connect(myFunction)
在这种情况下,textEdited
是信号的名称。您可以看到 in the Qt documentation 的 QLineEdit
小部件,它在 Signals 下列出。此代码将其连接到一个名为myFunction()
的函数,该函数在条件发生时被调用。因此,当行编辑小部件对其文本进行编辑时,myFunction()
以及连接到此信号的任何其他函数(插槽)将被调用。
恭喜你发现了 Qt 并尝试掌握信号和插槽。了解它确实需要一点时间,但非常值得。
【讨论】:
谢谢你的回答,我对我使用的术语不是很清楚。 实际上,我试图查询来自小部件的信号调用的函数,以便能够创建连接到该函数的新信号(并将该函数与原始信号断开连接)。我得想点别的办法,谢谢!以上是关于Pyside (Qt) - 如何查询信号的主要内容,如果未能解决你的问题,请参考以下文章