首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt4窗口-工具栏操作不起作用。我该如何修复它们呢?

PyQt4窗口-工具栏操作不起作用。我该如何修复它们呢?
EN

Stack Overflow用户
提问于 2011-05-29 23:57:46
回答 1查看 1.4K关注 0票数 2

我已经做了一个程序,它有一个工具栏,在它上面有一些Linux操作。工具栏和它的操作在Linux操作系统上工作得很好,但是当我在Windows机器上运行代码时,这些操作就不能工作。所有的东西看起来都和Linux上一样(是的,我在Windows机器上安装了PyQt4 ),甚至工具栏,但是当我点击工具栏上的一个项目时,它并没有执行给定的处理程序。我尝试并制作了一个带有工具栏的基本PyQt4程序,只是为了测试bug是否是由我的程序引起的,但结果是相同的。下面是不能工作的基本示例程序。

代码语言:javascript
复制
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

我希望外面有人能帮我。感谢大家的关注和帮助!

祝您今天愉快!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 01:05:02

奇怪的是,它可以在Linux上运行,因为我只能通过修改以下命令来使其在Windows上运行

代码语言:javascript
复制
w.connect(action, QtCore.SIGNAL("activated()"), aTest)

代码语言:javascript
复制
w.connect(action, QtCore.SIGNAL("triggered()"), aTest)

QAction class reference仅将changed()hovered()toggled()triggered()列为有效信号。不幸的是,我手头没有Linux盒来进一步测试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6168722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档