PyQt4 Windows-工具栏操作不起作用我该如何解决?

问题描述

| 我制作了一个带有工具栏的程序,在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-bit(在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类参考仅列出
changed()
hovered()
toggled()
triggered()
作为有效信号。不幸的是,我没有方便使用Linux的盒子来进一步测试。