python - PyQt4 Windows - 工具栏操作不起作用。我该如何修复它们?

标签 python windows action pyqt4 toolbar

我制作了一个程序,它有一个工具栏,在 Linux 上有一些操作。工具栏及其操作在 Linux 操作系统上完美运行,但当我在 Windows 计算机上运行代码时,这些操作不起作用。一切看起来都与 Linux 上相同(是的,我在 Windows 机器上安装了 PyQt4),甚至工具栏,但当我单击工具栏上的某个项目时,它只是不执行给定的处理程序。我尝试制作了一个带有工具栏的基本 PyQt4 程序,只是为了测试该错误是否是由于我的程序造成的,但结果是相同的。这是基本的示例程序,但不起作用。

from PyQt4 import QtGui, QtCore
import sys

def aTest(obj = None):
    print "If this appears, the action works."

app = QtGui.QApplication(sys.argv)
w = QtGui.QMainWindow()
toolBar = w.addToolBar("toolbar")

action = QtGui.QAction(QtGui.QIcon("path to icon here"), "testAction", w)
w.connect(action, QtCore.SIGNAL("activated()"), aTest)

toolBar.addAction(action)

w.show()

app.exec_()

此代码在 Linux 上运行没有问题,但在 Windows 上,这些操作在激活时没有反应。忽略代码中的拼写错误。

操作系统:Windows 7 Ultimate 32 位(也不适用于 XP)

Python版本:Python 2.7

PyQt4版本:PyQt-Py2.7-x86-gpl-4.8.4-1

希望有人能帮助我。我感谢大家的兴趣和帮助!

祝你有美好的一天!

最佳答案

奇怪的是它在 Linux 上工作,因为我只能通过更改它在 Windows 上工作

w.connect(action, QtCore.SIGNAL("activated()"), aTest)

w.connect(action, QtCore.SIGNAL("triggered()"), aTest)

QAction class reference仅列出 changed()hovered()toggled()triggered() 作为有效信号。不幸的是,我没有方便的 Linux 机器来进一步测试。

关于python - PyQt4 Windows - 工具栏操作不起作用。我该如何修复它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6168722/

相关文章:

Python从列表的索引中获取值

python - flask 看不到 .js 文件的变化

python - 如何在 python 中从 sys.stdin 输入矩阵而不丢失其二维结构,同时能够对其使用 numpy 运算?

ios - 从 UIButton 中的另一个类调用方法

swift - 如何动画一个矩阵一个一个地改变 Sprite ?

asp.net-mvc-3 - Action 返回局部 View 和模型

python - 使用 Levenshtein-Distance 获取子序列的位置

windows - 如果一个进程建立了多个 PostgreSQL 连接并在没有关闭它们的情况下终止,会发生什么?

c++ - Code::Blocks C/C++ windows.h 缺少 fatal error

c++ - 有没有办法将整个文件从文件系统微型过滤器驱动程序(内核模式)传递到用户模式应用程序?