pyqt-Ui_MainWindow' object has no attribute 'show'
由
designer
设计界面,并将.ui
转为.py
后直接在main
函数中进行调用时不行的,目前主要有两种方法,一种是修改.py
文件另一种是在main
函数中做修改。
方法一 修改.py
文件
将原始的
class Ui_MainWindow(Object):
换成
class Ui_MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
缺点是每次更新
.ui
文件重新转为.py
文件后,就需要重新改一遍
方法二 修改main
函数
if __name__ == "__main__":
App = QApplication(sys.argv) # 创建QApplication对象,作为GUI主程序入口
aw = Ui_MainWindow() # 创建主窗体对象,实例化Ui_MainWindow
w = QMainWindow() # 实例化QMainWindow类
aw.setupUi(w) # 主窗体对象调用setupUi方法,对QMainWindow对象进行设置
w.show() # 显示主窗体
sys.exit(App.exec_()) # 循环中等待退出程序
目前比较喜欢用第一种方式,在
main
函数中处理的相对轻松
参考:
AttributeError: ‘Ui_MainWindow’ object has no attribute ‘show’
解决AttributeError: ‘Ui_MainWindow’ object has no attribute 'show’报错