【问题标题】:Pyside (Qt) - How to query signalPyside (Qt) - 如何查询信号
【发布时间】:2017-02-21 21:40:24
【问题描述】:

我需要查询与“textEdited”连接相关的信号,但找不到方法。

# How the signal was created
myLineEditWidget.textEdited.connect(theSignalIwantToQuery)

感谢您的帮助

【问题讨论】:

  • 你能更好地解释你的问题吗
  • 我想查询连接到一个Widget发出的信号的函数
  • “查询函数”是什么意思?
  • 基本上我想将“textEdited”信号转换为“returnPressed”信号,并连接相同的功能。我无法修改源代码,因此我需要在创建小部件和连接后执行此操作。

标签: qt pyside


【解决方案1】:

信号不可查询。它们会立即调用它们所连接的函数。语法也不是那样工作的。它可以工作like this

鉴于此代码:

def myFunction(self, text):
    print text

myLineEditWidget.textEdited.connect(myFunction)

在这种情况下,textEdited 是信号的名称。您可以看到 in the Qt documentationQLineEdit 小部件,它在 Signals 下列出。此代码将其连接到一个名为myFunction() 的函数,该函数在条件发生时被调用。因此,当行编辑小部件对其文本进行编辑时,myFunction() 以及连接到此信号的任何其他函数(插槽)将被调用。

恭喜你发现了 Qt 并尝试掌握信号和插槽。了解它确实需要一点时间,但非常值得。

【讨论】:

  • 谢谢你的回答,我对我使用的术语不是很清楚。
  • 实际上,我试图查询来自小部件的信号调用的函数,以便能够创建连接到该函数的新信号(并将该函数与原始信号断开连接)。我得想点别的办法,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多