stworzyłem wiele interfejsów GUI w pyqt użyciu Qt Designer, ale teraz próbuję otworzyć interfejs od drugiego, i nie wiem jak to zrobić .. Start.py jest plik, który uruchomienia interfejsu GUI Authentification_1 i Acceuil_start.py jest plikiem, który należy uruchomić interfejs GUI Acceuil_2.py, teraz chcę z Start.py do lunchu Acceuil_start .py. Czy masz jakiś pomysł na ten temat? Dziękuję Ci. Oto mój kod:Otwórz plik GUI z innego pliku pyqt
Start.py :
import sys
from PyQt4 import QtCore, QtGui
from Authentification_1 import Ui_Fenetre_auth
from Acceuil_2 import Ui_MainWindow #??? Acceuil_2.py is the file which I want to open
class StartQT4(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Fenetre_auth()
self.ui.setupUi(self)
def authentifier(val): #Slot method
self.Acceuil = Acceuil() #???
self.Acceuil.show() #???
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = StartQT4()
myapp.show()
sys.exit(app.exec_())
Acceuil_start.py
import sys
from PyQt4 import QtCore, QtGui
from Authentification_1 import Ui_Fenetre_auth
from Acceuil_2 import Ui_MainWindow
class StartQT4(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = StartQT4()
myapp.show()
sys.exit(app.exec_())
Dziękuję. Czy klasa nadrzędna to klasa, która powinna otworzyć drugą? i dlaczego mam zmienić nazwę klasy w _Acceuil_start.py_? – Copernic
@Mehdi Zaktualizuję odpowiedź! Czy to działa tak daleko? –
Nie, daje mi ten błąd: _NameError: nazwa globalna "Acceuil" nie jest zdefiniowana dla: 'self.Acceuil = Acceuil (self)' – Copernic