我使用Homebrew安装了pyqt4.但是当我在python解释器中导入PyQt4时,它说"没有名为PyQt4的模块".有人可以帮我吗?
我尝试使用PyInstaller在Windows 7下编译Python项目.该项目工作正常,没有问题,但是当我尝试编译它时,结果不起作用.虽然在编译期间我没有收到任何警告warnmain.txt,但build目录中的文件中有许多警告:warnmain.txt
我真的不明白那些警告,例如"没有名为numpy.pi的模块",因为numpy.pi它不是模块而是数字.我从未尝试过导入numpy.pi.我做进口numpy和matplotlib明确.另外我正在使用PyQt4.我认为错误可能与这些库有关.
但是我能够编译一个成功使用numpy的简单脚本:
import sys
from PyQt4 import QtGui, QtCore
import numpy as np
class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.pb = QtGui.QPushButton(str(np.pi), self)
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
这里成功意味着创建的可执行文件实际上显示了所需的输出.但是,还会warnmain.txt创建一个文件,其中包含与之前完全相同的"警告".因此,我认为编译我的实际项目没有取得任何成功的事实不是(或至少不仅仅)与这些警告相关.但那么还有什么可能是错误呢?编译期间唯一的输出是'INFO',并且没有一个是否定的声明.
我没有指定一个额外的钩子目录,但钩子使用默认目录向下,只要我可以从编译输出读取,例如hook-matplotlib执行.我看不到任何钩子,numpy因为我的小例子脚本也没有,但这个有用.我在我的文件中使用了以下导入(不是全部在同一个但在不同的文件中):
import numpy as np
import matplotlib.pyplot as ppl
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
from PyQt4 import QtGui, QtCore
import json …有没有办法在PyQt4中最小化到托盘?我已经使用过QSystemTrayIcon类,但现在我想最小化或"隐藏"我的应用程序窗口,并只显示托盘图标.
有人这样做过吗?任何方向将不胜感激.
在Window XP Pro上使用Python 2.5.4和PyQt4
到目前为止,我发现的唯一解决方案是继承QItemDelegate并在paint()函数中实现我的对齐规则.这真的是最简单的方式吗?
我正在使用C++ API.
我有很多QComboBoxes,在某个时刻,我需要获取特定的每个项目QComboBox来迭代.
虽然我可以只列出与其中的项目相对应的项目列表QComboBox,但我宁愿直接从小部件本身获取它们(QComboBoxes每个项目都有很多项目).
有什么功能/方法可以帮我吗?
(例如:  
 QComboBoxName.allItems()
)
我已经通过类引用看了,但找不到任何相关信息.
我想过一些混乱的方法,但我不喜欢它们.
(比如通过QComboBox改变索引并获取项目等来迭代).
Python 2.7.1 
IDLE 1.8 
Windows 7 
PyQt4  
我想在调整小部件大小时采取行动.
有没有办法在没有在该窗口小部件上安装事件过滤器的情况下捕获它(显然,没有子类化它)?AFAIK,QWidget没有resized信号.
我需要一些帮助添加一些项目到QComboBox.所以,我有两个组合框,一个additem填充另一个取决于所选项目.
我的问题是,使用clear()新项目,它可以工作,但如果我选择其他选项combobox,它会添加新项目,但之前的项目已经消失,新项目下面有空白项目.
我想每次我从第一个选择一个新选项QComboBox,清除第二个的内容additem,我使用clear()了第二个,但它没有工作.
这就是我想到的:
self.comboBox_2.clear()
for index,i in enumerate(list1):
  self.comboBox_2.addItem(_fromUtf8(""))
  self.comboBox_2.setItemText(index+2, QApplication.translate("Dialog", i, None, QApplication.UnicodeUTF8))
以上是第一次combobox更改时执行的函数的一部分.
我在我的应用程序中使用PyQt4 for GUI.
我想知道默认情况下如何使我的窗口最大化.
我护目镜但没找到替代品.
我尝试使用下面的代码,但它不是为了最大化,而是将窗口大小调整为桌面屏幕大小.
但是我需要在按下窗口标题栏右侧的最大化按钮时看到的效果.
screen = QtGui.QDesktopWidget().screenGeometry()
self.setGeometry(0, 0, screen.width(), screen.height())  
目前,我在继承QtGui.QListWidget的类中使用以下while循环来迭代所有项:
    i = 0
    while i < self.count():
        item = self.item(i)
        i += 1
我希望我可以使用:
for item in self.items():
但是items()方法需要一个QMimeData对象,我不知道如何构造以返回所有项目.是否有比上面的while循环更清晰的方法?
有可能是像一些类似的问题这一个,但我没有找到任何回答我.
我尝试了一些方法来做到:
sudo aptitude install python-qt4-dev python-sip4 python-sip4-dev
来自:https://groups.google.com/forum/#!topic/mnemosyne-proj-devel/VQQzjhARWoA
我试过了:
sudo aptitude install python-qt4
来自:http://www.saltycrane.com/blog/2008/01/how-to-install-pyqt4-on-ubuntu-linux/
每次上述安装后我都会收到错误:
$python2.7
Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PyQt4
我还试图从源代码下载PyQt4安装它:http://www.riverbankcomputing.co.uk/software/pyqt/download 并从以下网址获取:http://www.riverbankcomputing.co.uk/software/sip/download
然后我得到安装PyQt4的错误:
$ sudo python configure.py --verbose
Determining …pyqt4 ×10
python ×7
pyqt ×3
qcombobox ×2
qt ×2
qt4 ×2
get ×1
homebrew ×1
installation ×1
matplotlib ×1
maximize ×1
minimize ×1
numpy ×1
pyinstaller ×1
pyqt5 ×1
python-2.7 ×1
qlistwidget ×1
system-tray ×1
ubuntu-12.04 ×1