我已经做了一个程序,它有一个工具栏,在它上面有一些Linux操作。工具栏和它的操作在Linux操作系统上工作得很好,但是当我在Windows机器上运行代码时,这些操作就不能工作。所有的东西看起来都和Linux上一样(是的,我在Windows机器上安装了PyQt4 ),甚至工具栏,但是当我点击工具栏上的一个项目时,它并没有执行给定的处理程序。我尝试并制作了一个带有工具栏的基本PyQt4程序,只是为了测试bug是否是由我的程序引起的,但结果是相同的。下面是不能工作的基本示例程序。
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旗舰版32位(也不能在XP上运行)
Python版本: Python 2.7
PyQt4版本: PyQt-Py2.7-x86-gpl-4.8.4-1
我希望外面有人能帮我。感谢大家的关注和帮助!
祝您今天愉快!
发布于 2011-05-30 01:05:02
奇怪的是,它可以在Linux上运行,因为我只能通过修改以下命令来使其在Windows上运行
w.connect(action, QtCore.SIGNAL("activated()"), aTest)至
w.connect(action, QtCore.SIGNAL("triggered()"), aTest)QAction class reference仅将changed()、hovered()、toggled()和triggered()列为有效信号。不幸的是,我手头没有Linux盒来进一步测试。
https://stackoverflow.com/questions/6168722
复制相似问题