博主设计的界面为主界面+几个按钮弹出框,在设计引入弹出框的代码时,遇到了dialog object has no attribute show问题。主要问题是应该使用Qdialog实例化的对象引入show函数,而不是使用自己编写的ui实例化对象引入show函数。自己编写的ui类里面只有setupUi,retranslateU两个类的函数,使用show会报错。
修改前代码块
Dialog_sr = QtWidgets.QDialog()
# widget = QtGui.QWidget()
ui2 = enhance_dialog.Ui_Dialog()
ui2.setupUi(Dialog_sr)
ui.SR_button.clicked.connect(ui2.show)
修改后代码块
Dialog_sr = QtWidgets.QDialog()
# widget = QtGui.QWidget()
ui2 = enhance_dialog.Ui_Dialog()
ui2.setupUi(Dialog_sr)
ui.SR_button.clicked.connect(Dialog_sr.show)#dialog, not ui