python - 无法启动设计的pyQt应用程序

标签 python user-interface pyqt python-3.3 pyqt5

我刚刚在 pyQt Designer 5 中设计了我的应用程序,将我的 main.ui 生成为 main.py,将我的 asset.qrc 生成为 asset_rc.py。没有错误,当我现在从终端运行 main.py 时,什么也没有发生。我是不是漏掉了一步?我现在应该编辑我的 main.py 文件吗?

干杯!

Python 3.3.0 pyQT 5

最佳答案

这适用于 PyQt4,但对于 PyQt5 应该是相同的。

假设您的用户界面名为“mainwindow.ui”。使用 pyuic4 将其编译为“mainWindowUi.py”(或其他名称,只需使用名称即可)。

现在创建一个文件“mainWindow.py”,其中或多或少包含以下内容:

from PyQt4 import QtGui
from mainWindowUi import Ui_MainWindow #same name as appears in mainWindowUi.py

class MainWindow (QtGui.QMainWindow): #Or wherever you are inheriting from
    def __init__ (self, parent = None):
        super (MainWindow, self).__init__ ()
        self.ui = Ui_MainWindow () #same name as appears in mainWindowUi.py
        self.ui.setupUi (self)

    #implement slots and signals and other funny things

现在创建一个文件“program.py”,其中或多或少包含以下内容:

#! /usr/bin/python3.3

import sys
from PyQt4 import QtGui
from mainWindow import MainWindow

def main():
    app = QtGui.QApplication (sys.argv)
    m = MainWindow ()
    m.show ()
    sys.exit (app.exec_ () )


if __name__ == '__main__':
    main ()

运行program.py文件。这或多或少是 Qt 应用程序的骨架。

关于python - 无法启动设计的pyQt应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409016/

相关文章:

python - MySQL返回的数据类型和python为不同的函数输出不同的类型

python - 如何构建 Boost 和编译 Boost Python

python - web.py存储对象无法访问值

swift - UITableViewCell 自定义 View 但可重用

java - 如何根据这段代码中的某些条件来显示图像和不同的变量?

python - 无法在 QObject 上调用 findChild(QObject, 'child' )。无返回值

python - 从 float32 转换为 float 时如何保持精度?

python - 将一个词拆分为所有可能的 'subwords' - 所有可能的组合

javascript - Jquery 嵌套选项卡

python - 如何使QMessageBox和QInputDialog在屏幕上居中?