我在Windows上使用Python 3.4.当我运行脚本时,它会抱怨
ImportError: No Module named 'PyQt4'
所以我试着安装它,但是pip install PyQt4给了
找不到满足PyQt4要求的任何下载
虽然它确实出现在我跑步时pip search PyQt4.我试过pip install python-qt,成功安装,但没有解决问题.
我究竟做错了什么?
我有一个程序,通过我在PyQt中编写的gui与我正在使用的收音机连接.显然,无线电的一个主要功能是传输数据,但为了不断地这样做,我必须循环写入,这会导致gui挂起.因为我从未处理过线程,所以我试图摆脱这些挂起使用QCoreApplication.processEvents().无线电需要在传输之间休眠,所以gui仍然根据这些睡眠的持续时间而挂起.  
有没有一种简单的方法可以使用QThread来解决这个问题?我已经找到了有关如何使用PyQt实现多线程的教程,但是大多数都涉及设置服务器,并且比我需要的更先进.老实说,我甚至不需要我的线程在运行时更新任何东西,我只需要启动它,让它在后台传输,然后停止它.
我使用VIRTUALENV与我的发展环境与利润web.py,simplejson以及其他面向Web的包.
我将使用Qt开发一个简单的python客户端来重用一些用web.py开发的Api.  
这里有人用Virtualenv成功安装了PyQt4吗?
可能吗?
我已经下载了所有二进制文件并已PyQt4在我的python2.6目录中全局安装.
如果我不使用--no-site--packages选项,Virtualenv正确地包含PyQt4在我的新沙箱中,但显然,包含我不需要的所有全局包.
有没有一种干净的方法来准备一个新的沙盒--no-site--packages选项,然后添加PyQt4或PySide使用pip,easy_install或其他一些魔术?
在我制作的课程中,我遇到了自定义信号的问题.
相关代码:
self.parse_triggered = QtCore.pyqtSignal()
def parseFile(self):
    self.emit(self.parse_triggered)
这两个属于类:RefreshWidget.在它的父类我有:
self.refreshWidget.parse_triggered.connect(self.tabWidget.giveTabsData())
当我尝试运行该程序时,我收到错误:
AttributeError: 'PyQt4.QtCore.pyqtSignal' object has no attribute 'connect'
救命?提前致谢.
我正在使用PyQt并遇到了这个问题.如果我的import语句是:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
然后pylint给出了数百个"未使用的导入"警告.我很犹豫要把它们关闭,因为可能有其他未使用的导入实际上很有用.另一种选择是这样做:
from PyQt4.QtCore import Qt, QPointF, QRectF
from PyQt4.QtGui import QGraphicsItem, QGraphicsScene, ...
and I end up having 9 classes on the QtGui line. There's a third option, which is:
from PyQt4 import QtCore, QtGui
and then prefix all the classes with QtCore or QtGui whenever I use them.
At this point I'm agnostic as to which one I end up doing in my project, although the last one seems the …
我开始摆弄PyQt,并从pyqt白皮书示例应用程序(pastebin)制作了一个"漂亮"的脚本
它在Windows和Linux中完美运行(两者都安装了qt环境).
现在我的问题是:因为我正在尝试使用Qt,因为它是经过编译的(至少是纯旧的基于C++的Qt),我如何编译一些.exe文件在Windows上运行它,或者用于Linux的独立可执行文件.
关键是我希望编译程序,因为速度和可移植性,而不是从源解释,这需要在任何机器上进行先前的设置.例如,其中一个目标是通过电子邮件将小gui脚本发送给根本不是程序员的同事.
我有一个使用pyqt4构建的相当简单的应用程序.我想调试连接到我的应用程序中的一个按钮的其中一个功能.但是,当我做以下事情时
python -m pdb app.pyw
> break app.pyw:55  # This is where the signal handling function starts.
事情并不像我希望的那样有效.而不是打破我设置断点并让我单步执行的函数,调试器进入无限循环打印输出QCoreApplication::exec: The event loop is already running,我无法输入任何内容.有一个更好的方法吗?
有没有办法清除(删除)布局中的所有小部件?
self.plot_layout = QtGui.QGridLayout()
self.plot_layout.setGeometry(QtCore.QRect(200,200,200,200))
self.root_layout.addLayout(self.plot_layout)
self.plot_layout.addWidget(MyWidget())
现在我想plot_layout用新的小部件替换小部件.是否有一种简单的方法可以清除所有小部件plot_layout?我没有看到任何这样的方法.
从PyQt4网站上,他们安装软件包的说明是下载tarball并使用配置文件.我有两个版本的Python,一个是我的普通系统,另一个是anaconda.我不知道如何安装在anaconda中.是否有conda命令来安装PyQt4?
pyqt4 ×10
python ×9
pyqt ×6
qt ×2
anaconda ×1
compilation ×1
executable ×1
matplotlib ×1
pip ×1
pylint ×1
pyside ×1
python-3.x ×1
qt4 ×1
qthread ×1
signals ×1
virtualenv ×1