Python 问题5:属性错误:';模块';对象没有属性';QApplication';

Python 问题5:属性错误:';模块';对象没有属性';QApplication';,python,pyqt,qt5,Python,Pyqt,Qt5,系统:15.10(狡猾的狼人)x64 代码: 我得到以下错误: app = QtGui.QApplication(sys.argv) AttributeError: 'module' object has no attribute 'QApplication' 基本上,我使用Qt5设计GUI,然后使用PUIC5。我已经安装了PyQt5,不确定安装是否按预期进行 用户界面设计: 非常感谢您的帮助。我不确定您的主要功能是如何生成的。我试着用与pyuic5相同的版本复制它。我使用命令行py

系统:15.10(狡猾的狼人)x64

代码:

我得到以下错误:

    app = QtGui.QApplication(sys.argv)
AttributeError: 'module' object has no attribute 'QApplication'
基本上,我使用Qt5设计GUI,然后使用PUIC5。我已经安装了PyQt5,不确定安装是否按预期进行

用户界面设计:


非常感谢您的帮助。

我不确定您的主要功能是如何生成的。我试着用与pyuic5相同的版本复制它。我使用命令行
pyuic5-x untitled.ui
(在您的例子中,ui只包含一个小部件中的按钮)调用它。
-x
选项的作用是:“生成的Python代码包含少量附加代码,当GUI作为独立应用程序执行时,这些代码创建并显示GUI。”()我得到的结果是

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.5.1
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(70, 50, 75, 23))
        self.pushButton.setObjectName("pushButton")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

它有不同的主要功能。代码的其余部分是等效的。

在PyQt5中,
QApplication
方法不支持与
QtGui
一起使用,相反,它可以与
qtwidget
一起使用。试着像这样重写代码

app = QtWidgets.QApplication(sys.argv)
如果使用PyQt5而不是PyQt4。它可能会起作用。 我知道的
QStyleFactory
等其他属性也已更改为与
qtwidget
一起使用


希望这可以解决你的问题。

这是什么:
dir(QtGui)
给了你什么?我刚刚更新了帖子以供进一步参考。这段代码有几个问题:
QApplication
QWidgets
中,缺少
import sys
语句,
Ui\u表单
可能应该继承一个Qt类
QWidget
?,
ex.setupUi(ex)
必须在
ex.show()之前调用。让我再试一次。我从一家公司用过。你说得对,import sys语句不见了。然而,这段代码是由pyuic5生成的。。。pyuic5 test.ui>test.py
app = QtWidgets.QApplication(sys.argv)