ich bin mal wieder mit einem neuen Problem bei euch.
Zur Zeit bin ich dabei, von einem Window in ein nächstes zu kommen per push button.
Das funktioniert auch schon alles gut.
Ich habe 4 Fenster.
Von 1 nach 2 klappt.
und von 2 nach 3 auch.
Aber ich würde gerne mit Window 1 starten und per Push Button auf 2 und anschließend auf 3...4 .
Leider finde ich dazu nichts im Internet.
Anbei sende ich euch mal einen Mustercode.
1.Fenster:
Code: Alles auswählen
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ersteFenster.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_StartFenster(object):
def openWindow2(self):
from zweitesFenster import Ui_Rotortypauswaehlen
self.window2 = QtWidgets.QDialog()
self.ui = Ui_Rotortypauswaehlen()
self.ui.setupUi(self.window2)
StartFenster.hide()
self.window2.show()
#def openWindow3(self):
#from drittesFenster import Ui_Dialog
#self.window3 = QtWidgets.QDialog()
#self.ui = Ui_Dialog()
#self.ui.setupUi(self.window3)
#Rotortypauswaehlen.hide()
#self.window3.show()
def setupUi(self, StartFenster):
StartFenster.setObjectName("StartFenster")
StartFenster.resize(790, 435)
self.centralwidget = QtWidgets.QWidget(StartFenster)
self.centralwidget.setObjectName("centralwidget")
self.buttonstart = QtWidgets.QPushButton(self.centralwidget)
self.buttonstart.setGeometry(QtCore.QRect(240, 300, 99, 30))
self.buttonstart.setObjectName("buttonstart")
self.buttonstart.clicked.connect(self.openWindow2)
self.buttonabbruch = QtWidgets.QPushButton(self.centralwidget)
self.buttonabbruch.setGeometry(QtCore.QRect(400, 300, 99, 30))
self.buttonabbruch.setObjectName("buttonabbruch")
self.label_siemensfenster = QtWidgets.QLabel(self.centralwidget)
self.label_siemensfenster.setGeometry(QtCore.QRect(10, -20, 731, 331))
self.label_siemensfenster.setStyleSheet("image: url(:/newPrefix/Download.png);")
self.label_siemensfenster.setObjectName("label_siemensfenster")
self.label_copyrights = QtWidgets.QLabel(self.centralwidget)
self.label_copyrights.setGeometry(QtCore.QRect(10, 350, 171, 22))
self.label_copyrights.setTextFormat(QtCore.Qt.RichText)
self.label_copyrights.setObjectName("label_copyrights")
self.dateTimeEdit = QtWidgets.QDateTimeEdit(self.centralwidget)
self.dateTimeEdit.setGeometry(QtCore.QRect(600, 350, 194, 32))
self.dateTimeEdit.setObjectName("dateTimeEdit")
StartFenster.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(StartFenster)
self.menubar.setGeometry(QtCore.QRect(0, 0, 790, 28))
self.menubar.setObjectName("menubar")
StartFenster.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(StartFenster)
self.statusbar.setObjectName("statusbar")
StartFenster.setStatusBar(self.statusbar)
self.retranslateUi(StartFenster)
QtCore.QMetaObject.connectSlotsByName(StartFenster)
def retranslateUi(self, StartFenster):
_translate = QtCore.QCoreApplication.translate
StartFenster.setWindowTitle(_translate("StartFenster", "Rotor-Heizprozess"))
self.buttonstart.setText(_translate("StartFenster", "Los geht\'s!"))
self.buttonabbruch.setText(_translate("StartFenster", "Abbrechen"))
self.label_siemensfenster.setText(_translate("StartFenster", "<html><head/><body><p><br/></p></body></html>"))
self.label_copyrights.setText(_translate("StartFenster", "<html><head/><body><p><span style=\" font-size:10pt; font-style:italic; text-decoration: underline;\">Copyright Horstmann, Weidner</span></p></body></html>"))
import source
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
StartFenster = QtWidgets.QMainWindow()
ui = Ui_StartFenster()
ui.setupUi(StartFenster)
StartFenster.show()
sys.exit(app.exec_())
Code: Alles auswählen
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'zweitesFenster.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
from drittesFenster import Ui_Dialog
class Ui_Rotortypauswaehlen(object):
def openWindow3(self):
self.window = QtWidgets.QDialog()
self.ui = Ui_Dialog()
self.ui.setupUi(self.window)
Rotortypauswaehlen.hide()
self.window.show()
def setupUi(self, Rotortypauswaehlen):
Rotortypauswaehlen.setObjectName("Rotortypauswaehlen")
Rotortypauswaehlen.resize(790, 435)
self.label = QtWidgets.QLabel(Rotortypauswaehlen)
self.label.setGeometry(QtCore.QRect(10, 210, 211, 22))
self.label.setObjectName("label")
self.label_copyrights = QtWidgets.QLabel(Rotortypauswaehlen)
self.label_copyrights.setGeometry(QtCore.QRect(10, 400, 171, 22))
self.label_copyrights.setTextFormat(QtCore.Qt.RichText)
self.label_copyrights.setObjectName("label_copyrights")
self.start = QtWidgets.QPushButton(Rotortypauswaehlen)
self.start.setGeometry(QtCore.QRect(231, 331, 99, 30))
self.start.setObjectName("start")
self.start.clicked.connect(self.openWindow3)
self.abbrechen = QtWidgets.QPushButton(Rotortypauswaehlen)
self.abbrechen.setGeometry(QtCore.QRect(380, 330, 99, 30))
self.abbrechen.setObjectName("abbrechen")
self.dateTimeEdit = QtWidgets.QDateTimeEdit(Rotortypauswaehlen)
self.dateTimeEdit.setGeometry(QtCore.QRect(580, 390, 194, 32))
self.dateTimeEdit.setObjectName("dateTimeEdit")
self.widget = QtWidgets.QWidget(Rotortypauswaehlen)
self.widget.setGeometry(QtCore.QRect(230, 140, 143, 161))
self.widget.setObjectName("widget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.radioButton = QtWidgets.QRadioButton(self.widget)
self.radioButton.setObjectName("radioButton")
self.verticalLayout.addWidget(self.radioButton)
self.radioButton_2 = QtWidgets.QRadioButton(self.widget)
self.radioButton_2.setObjectName("radioButton_2")
self.verticalLayout.addWidget(self.radioButton_2)
self.radioButton_3 = QtWidgets.QRadioButton(self.widget)
self.radioButton_3.setObjectName("radioButton_3")
self.verticalLayout.addWidget(self.radioButton_3)
self.radioButton_4 = QtWidgets.QRadioButton(self.widget)
self.radioButton_4.setObjectName("radioButton_4")
self.verticalLayout.addWidget(self.radioButton_4)
self.radioButton_5 = QtWidgets.QRadioButton(self.widget)
self.radioButton_5.setObjectName("radioButton_5")
self.verticalLayout.addWidget(self.radioButton_5)
self.retranslateUi(Rotortypauswaehlen)
QtCore.QMetaObject.connectSlotsByName(Rotortypauswaehlen)
def retranslateUi(self, Rotortypauswaehlen):
_translate = QtCore.QCoreApplication.translate
Rotortypauswaehlen.setWindowTitle(_translate("Rotortypauswaehlen", "Rotor-Heizprozess"))
self.label.setText(_translate("Rotortypauswaehlen", "<html><head/><body><p align=\"center\"><span style=\" font-weight:600; text-decoration: underline;\">Bitte Rotortyp auswählen:</span></p></body></html>"))
self.label_copyrights.setText(_translate("Rotortypauswaehlen", "<html><head/><body><p><span style=\" font-size:10pt; font-style:italic;\">Copyright Horstmann, Weidner</span></p></body></html>"))
self.start.setText(_translate("Rotortypauswaehlen", "Start!"))
self.abbrechen.setText(_translate("Rotortypauswaehlen", "Abbruch!"))
self.radioButton.setText(_translate("Rotortypauswaehlen", "S4R3"))
self.radioButton_2.setText(_translate("Rotortypauswaehlen", "TLRI 115-36"))
self.radioButton_3.setText(_translate("Rotortypauswaehlen", "S4R4"))
self.radioButton_4.setText(_translate("Rotortypauswaehlen", "Essenernudeln"))
self.radioButton_5.setText(_translate("Rotortypauswaehlen", "heutefreisaufen"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Rotortypauswaehlen = QtWidgets.QDialog()
ui = Ui_Rotortypauswaehlen()
ui.setupUi(Rotortypauswaehlen)
Rotortypauswaehlen.show()
sys.exit(app.exec_())
Code: Alles auswählen
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'drittesFenster.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(790, 435)
self.lcdNumber = QtWidgets.QLCDNumber(Dialog)
self.lcdNumber.setGeometry(QtCore.QRect(620, 50, 64, 23))
self.lcdNumber.setObjectName("lcdNumber")
self.lcdNumber_2 = QtWidgets.QLCDNumber(Dialog)
self.lcdNumber_2.setGeometry(QtCore.QRect(620, 90, 64, 23))
self.lcdNumber_2.setObjectName("lcdNumber_2")
self.label_9 = QtWidgets.QLabel(Dialog)
self.label_9.setGeometry(QtCore.QRect(520, 50, 68, 22))
self.label_9.setObjectName("label_9")
self.label_10 = QtWidgets.QLabel(Dialog)
self.label_10.setGeometry(QtCore.QRect(520, 90, 71, 22))
self.label_10.setObjectName("label_10")
self.timeEdit = QtWidgets.QTimeEdit(Dialog)
self.timeEdit.setGeometry(QtCore.QRect(620, 130, 118, 32))
self.timeEdit.setObjectName("timeEdit")
self.label_11 = QtWidgets.QLabel(Dialog)
self.label_11.setGeometry(QtCore.QRect(520, 140, 68, 22))
self.label_11.setObjectName("label_11")
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(540, 220, 171, 131))
self.pushButton.setObjectName("pushButton")
self.label_copyrights = QtWidgets.QLabel(Dialog)
self.label_copyrights.setGeometry(QtCore.QRect(620, 400, 171, 22))
self.label_copyrights.setTextFormat(QtCore.Qt.RichText)
self.label_copyrights.setObjectName("label_copyrights")
self.widget = QtWidgets.QWidget(Dialog)
self.widget.setGeometry(QtCore.QRect(100, 10, 361, 421))
self.widget.setObjectName("widget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.progressBar_1 = QtWidgets.QProgressBar(self.widget)
self.progressBar_1.setProperty("value", 24)
self.progressBar_1.setObjectName("progressBar_1")
self.verticalLayout.addWidget(self.progressBar_1)
self.progressBar_2 = QtWidgets.QProgressBar(self.widget)
self.progressBar_2.setProperty("value", 24)
self.progressBar_2.setObjectName("progressBar_2")
self.verticalLayout.addWidget(self.progressBar_2)
self.progressBar_3 = QtWidgets.QProgressBar(self.widget)
self.progressBar_3.setProperty("value", 24)
self.progressBar_3.setObjectName("progressBar_3")
self.verticalLayout.addWidget(self.progressBar_3)
self.progressBar_4 = QtWidgets.QProgressBar(self.widget)
self.progressBar_4.setProperty("value", 24)
self.progressBar_4.setObjectName("progressBar_4")
self.verticalLayout.addWidget(self.progressBar_4)
self.progressBar_5 = QtWidgets.QProgressBar(self.widget)
self.progressBar_5.setProperty("value", 24)
self.progressBar_5.setObjectName("progressBar_5")
self.verticalLayout.addWidget(self.progressBar_5)
self.progressBar_6 = QtWidgets.QProgressBar(self.widget)
self.progressBar_6.setProperty("value", 24)
self.progressBar_6.setObjectName("progressBar_6")
self.verticalLayout.addWidget(self.progressBar_6)
self.progressBar_7 = QtWidgets.QProgressBar(self.widget)
self.progressBar_7.setProperty("value", 24)
self.progressBar_7.setObjectName("progressBar_7")
self.verticalLayout.addWidget(self.progressBar_7)
self.progressBar_8 = QtWidgets.QProgressBar(self.widget)
self.progressBar_8.setProperty("value", 24)
self.progressBar_8.setObjectName("progressBar_8")
self.verticalLayout.addWidget(self.progressBar_8)
self.widget1 = QtWidgets.QWidget(Dialog)
self.widget1.setGeometry(QtCore.QRect(10, 20, 70, 401))
self.widget1.setObjectName("widget1")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_1 = QtWidgets.QLabel(self.widget1)
self.label_1.setObjectName("label_1")
self.verticalLayout_2.addWidget(self.label_1)
self.label_2 = QtWidgets.QLabel(self.widget1)
self.label_2.setObjectName("label_2")
self.verticalLayout_2.addWidget(self.label_2)
self.label_3 = QtWidgets.QLabel(self.widget1)
self.label_3.setObjectName("label_3")
self.verticalLayout_2.addWidget(self.label_3)
self.label_4 = QtWidgets.QLabel(self.widget1)
self.label_4.setObjectName("label_4")
self.verticalLayout_2.addWidget(self.label_4)
self.label_5 = QtWidgets.QLabel(self.widget1)
self.label_5.setObjectName("label_5")
self.verticalLayout_2.addWidget(self.label_5)
self.label_6 = QtWidgets.QLabel(self.widget1)
self.label_6.setObjectName("label_6")
self.verticalLayout_2.addWidget(self.label_6)
self.label_7 = QtWidgets.QLabel(self.widget1)
self.label_7.setObjectName("label_7")
self.verticalLayout_2.addWidget(self.label_7)
self.label_8 = QtWidgets.QLabel(self.widget1)
self.label_8.setObjectName("label_8")
self.verticalLayout_2.addWidget(self.label_8)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Rotor-Heizprozess"))
self.label_9.setText(_translate("Dialog", "Strom"))
self.label_10.setText(_translate("Dialog", "Spannung"))
self.label_11.setText(_translate("Dialog", "Laufzeit:"))
self.pushButton.setText(_translate("Dialog", "Abbruch!!"))
self.label_copyrights.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:10pt; font-style:italic;\">Copyright Horstmann, Weidner</span></p></body></html>"))
self.progressBar_1.setWhatsThis(_translate("Dialog", "<html><head/><body><p><br/></p></body></html>"))
self.label_1.setText(_translate("Dialog", "Thermo1"))
self.label_2.setText(_translate("Dialog", "Thermo2"))
self.label_3.setText(_translate("Dialog", "Thermo3"))
self.label_4.setText(_translate("Dialog", "Thermo4"))
self.label_5.setText(_translate("Dialog", "Thermo5"))
self.label_6.setText(_translate("Dialog", "Thermo6"))
self.label_7.setText(_translate("Dialog", "Thermo7"))
self.label_8.setText(_translate("Dialog", "Thermo8"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
Der Error kommt, sobald ich den PushButton auf dem 2. Fenster betätige.
Hier der Errorcode:
qt5ct: using qt5ct plugin
qt5ct: D-Bus global menu: no
Traceback (most recent call last):
File "/home/pi/Desktop/Testphase/neueGui2in1/zweitesFenster.py", line 18, in openWindow3
Rotortypauswaehlen.hide()
NameError: global name 'Rotortypauswaehlen' is not defined
Aborted
Gruß aus NRW und vielen Dank für eure Hilfe+Tipps!