Pyqt5,AttributeError:模块'x_ui'没有属性'Ui_x'
Posted
技术标签:
【中文标题】Pyqt5,AttributeError:模块\'x_ui\'没有属性\'Ui_x\'【英文标题】:Pyqt5, AttributeError: module 'x_ui' has no attribute 'Ui_x'Pyqt5,AttributeError:模块'x_ui'没有属性'Ui_x' 【发布时间】:2018-02-20 01:18:52 【问题描述】:您好,我有一个 QTDesigner UI 文件 HelloWorld.ui,我正在尝试将其导入项目并执行。
该项目包括HelloWorld.ui 文件,该文件已使用Pyuic5 转换为HelloWorld_ui.py。
以下是app.py的代码
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
import HelloWorld_ui
class HelloWorld(QDialog, HelloWorld_ui.Ui_HelloWorld):
def __init__(self):
QDialog.__init__(self)
self.setupUi(self)
app = QApplication(sys.argv)
helloworld = HelloWorld()
helloworld.show()
app.exec_()
以下是错误代码
Traceback (most recent call last):
File "/Users/rrpolak/Downloads/Pyt/app.py", line 11, in <module>
class HelloWorld(QDialog, HelloWorld_ui.Ui_HelloWorld):
AttributeError: module 'HelloWorld_ui' has no attribute 'Ui_HelloWorld'
Process finished with exit code 1
我试图了解在 python 程序中调用这些文件的正确方法是什么。任何帮助表示赞赏。
项目文件位于https://drive.google.com/open?id=18tjLPiCZxTbKaiZShtgu90KyXcFukr6V
我正在使用 PyQt5/Python3.6/Mac。
【问题讨论】:
【参考方案1】:如果您检查文件 HelloWorld_ui.py,您会注意到没有名为 Ui_HelloWorld 的类,而是类 Ui_Dialog:
class Ui_Dialog(object):
所以你必须使用那个类:
class HelloWorld(QDialog, HelloWorld_ui.Ui_Dialog):
名字由你给QDialog的名字生成:
如果你想使用HelloWorld
,你必须改变它:
再次将 .ui 转换为 .py 并再次执行,获得以下内容:
【讨论】:
以上是关于Pyqt5,AttributeError:模块'x_ui'没有属性'Ui_x'的主要内容,如果未能解决你的问题,请参考以下文章
pyqt5,接收 AttributeError:“QMainWindow”对象没有属性“browseSlot”
PyQt5 和 QML 集成问题,“findChild”返回 AttributeError
PyQt5:使用 QObject 和 QThread 时出现 AttributeError
Python:AttributeError 模块 x 没有属性 y
AttributeError:模块'win32ctypes.pywin32.win32api'没有属性'错误'
py_get_attr_impl(x,name,silent)中的R错误:AttributeError:模块'tensorflow'没有属性'placeholder'