Je suis très nouveau à PyQt5 et je fais un programme simple où l'utilisateur est d'abord présenté avec un choix de deux boutons, quand ils pressent un, il devrait les prendre à un nouvel écran, quand ils appuient sur l'autre, il devrait les prendre à un autre écran. J'ai du mal à ouvrir un nouveau widget lorsque j'appuie sur le bouton. La façon dont j'ai essayé de faire ceci est en ayant une fonction qui crée le widget et cette fonction est exécutée lorsque l'utilisateur appuie sur le bouton, mais actuellement le widget n'est pas créé par la fonction.Comment créer un nouveau widget en appuyant sur un bouton dans PyQt5
Voici mon code.
def StudentLog():
class StudentLogin(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Student log in screen')
self.show()
class Login(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 10))
self.setToolTip('Login screen')
btn = QPushButton('Student Login', self)
btn.setToolTip('This will log you in as a student')
btn.move(10, 50)
btn.clicked.connect(StudentLog)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Log in screen')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Login()
sys.exit(app.exec_())
Votre méthode semble avoir fonctionné, merci beaucoup pour votre aide. –
@JoeMalley, sympa, merci pour les commentaires! – PRMoureu