如何在Python中执行pyqt .ui代码?
我正在为我写的一个脚本制作一个图形用户界面(GUI),经过研究我发现 pyqt 会很有帮助。目前我已经用 pyqt 制作了一个界面,但按钮还没有功能,我想看看代码。
我打开了命令提示符(cmd.exe),然后输入了:
pyuic4 project.ui -o python.py
这创建了一个 python.py 脚本,里面显示了我需要的所有代码。但是当我通过 IDLE 或命令提示符运行它时,虽然显示正在运行,但没有任何界面弹出来。我是不是哪里做错了?
另外,顺便问一下,pyqt 适合用来创建简单的 Windows 界面吗,还是说它主要是用于移动开发的?
这是我想要编译和运行的一段代码:
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_FileHash(object):
def setupUi(self, FileHash):
3 个回答
0
如果你查看一下pyuic4的选项,你会发现有一个-x选项是你缺少的。这个选项会把运行用户界面所需的代码添加到你的Python代码里。你只需要加上-x就可以了:
pyuic4 project.ui -x -o python.py
1
值得注意的是,pyuic4 这个工具可以接受一个 "-p" 或者 "--preview" 的参数,这个参数可以让你直接预览 UI 文件,也就是说你可以不做任何修改就运行它,看看效果。
pyuic4 -p project.ui
7
查看这个教程,了解如何使用pyuic4命令生成的代码;
基本上,你需要这样做:
import sys
from PyQt4.QtGui import QApplication, QDialog
from ui_project import Ui_Name # here you need to correct the names
app = QApplication(sys.argv)
window = QDialog()
ui = Ui_Name()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
Pyqt非常适合在Windows上创建图形用户界面(GUI)。