gpt4 book ai didi

python - "TypeError: native Qt signal is not callable"带有自定义插槽

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:02 25 4
gpt4 key购买 nike

环境

我正在使用 Python 3.4 运行 Anaconda 环境。我使用 PyCharm 作为我的 IDE。

目标

我正在尝试使 pyQt4 QPushButton 连接到自定义函数:

button.clicked().connect([method reference or whatever])

尝试

我试过使用 pyqtSlot() decorator但是当我运行它抛出的代码时:

NameError: name 'pyqtSlot' is not defined

我使用了以下应该包含该装饰器的导入:

from PyQt4 import QtCore, QtGui

我还尝试将我的方法更改为它自己的包含调用方法的可调用类。

我在各种尝试中收到的一般错误消息是这样的:

TypeError: native Qt signal is not callable

问题

老实说,在这一点上,我几乎不知道该去哪里,或者您可能需要哪些细节来诊断问题。谁能告诉我如何将它们放在一起?

最佳答案

pyqtSlot() 应该从 PyQt4.QtCore 导入:

from PyQt4.QtCore import pyqtSlot

它也可以用作 @QtCore.pyqtSlot() 因为您已经导入了 QtCore

您收到错误消息 TypeError: native Qt signal is not callable 因为插槽 clicked should be connected without parentheses:

button.clicked.connect([method reference or whatever])

您可以从 PyQt4 包中的简单示例开始,例如 examples/widgets/tetrix.py:

    startButton = QtGui.QPushButton("&Start")
startButton.clicked.connect(self.board.start)

关于python - "TypeError: native Qt signal is not callable"带有自定义插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com