0%

解决pyqt运行报错'MainWindow' object has no attribute 'show'

前言

解决pyqt运行报错’MainWindow’ object has no attribute ‘show’

问题背景

运行ui文件对应py文件,加入主函数后报错:’MainWindow’ object has no attribute ‘show’

关键技术

python pyqt

问题解决

基本思路

designer设计界面,并将.ui转为.py后直接在main函数中进行调用时不行的,可以修改main函数。

将原始的

1
class Ui_MainWindow(Object):

换成

1
2
3
4
class Ui_MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)

修改mian函数

1
2
3
4
5
6
7
if __name__ == '__main__':
app = QApplication(sys.argv)#初始化app
MainWindow = QtWidgets.QMainWindow()#创建主窗口
ui = Ui_MainWindow()#创建UI界面
ui.setupUi(MainWindow)#初始化UI到主窗口,主要是建立代码与ui之间的signal与slot
MainWindow.show()#显示窗口
sys.exit(app.exec_())#消息循环结束之后返回0,接着调用sys.exit(0)退出程序

另外需要import QtWidgets

1
from PyQt5.QtWidgets import QApplication

亲测有效!

-------------本文结束感谢您的阅读-------------
原创技术分享,您的支持将鼓励我继续创作

欢迎关注我的其它发布渠道