2017-12-06 4 views
0

ich einen Dialog mit Qt Creator erstellt und übersetzt dann die .ui Datei Datei .py mitpyqt5-Dialog keine Widgets zeigt

pyuic5 dialog.ui -o dialog.py 

Der resultierende Code ist der folgende

class Ui_dialog(object): 
    def setupUi(self, dialog): 
     dialog.setObjectName("dialog") 
     dialog.resize(976, 725) 
     self.verticalLayoutWidget = QtWidgets.QWidget(dialog) 
     self.verticalLayoutWidget.setGeometry(QtCore.QRect(360, 210, 160, 80)) 
     self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") 
     self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) 
     self.verticalLayout.setObjectName("verticalLayout") 
     self.pushButton = QtWidgets.QPushButton(self.verticalLayoutWidget) 
     self.pushButton.setObjectName("pushButton") 
     self.verticalLayout.addWidget(self.pushButton) 

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

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

Jetzt ich versuche, mit

dialog = QDialog() 
dialog.ui = Ui_dialog() 
dialog.ui.setupUi(self) 
dialog.show() 
dialog.exec_() 

Der Dialog wird gezeigt, aber es ist der Dialog von meinem Hauptfenster angezeigt leer, so gibt es n ist o Knopf oder andere Widgets, die ich ausprobiert habe?

+0

Sie haben kein Layout gesetzt. Sie erstellen die Widgets, fügen sie aber zu nichts hinzu. – user1767754

Antwort

1

Ui_Dialog des setupUi Methode erfordert ein Widget in zu füllen, und in Ihrem Fall sollten Sie folgendes ändern:

dialog.ui.setupUi(self) 

zu:

dialog.ui.setupUi(dialog) 
+0

Ja das war es, danke! – wasp256