Bonsoir , je suis débutant en PyQt et j'ai décidé de monter un petit jeu d’énigme jusque la j'ai réussis à combler tous les soucis rencontrés sauf 1 qui me gêne beaucoup , centrer ma QmainWindow selon la résolution de l'ordinateur qui exécute le code .
Malgré de nombreux tests comme par exemple récupérer la valeur en x et y de la fenêtre et la taille de l'écran et ensuite y déplacer ma fenêtre ou encore ce morceau de code qui devrait normalement fonctionner mais qui pour moi , ne me centre absolument pas ma fenêtre ..
Pour plus de contexte car pendant mes test j'ai cru voir que cela avait de l'impact dans ma QMainwindow j'utilise un QStackedWidget que je centre pour afficher mes différents layout de page que j'ai séparé en plusieurs classes. Voila donc l'entiereté de ma QmainWindow :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 qtRectangle = self.frameGeometry() centerPoint = QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(centerPoint) self.move(qtRectangle.topLeft())
J’espère que quelqu'un saura m'orienter vers le soucis !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) # set window properties self.setWindowTitle("Jeu de Piste Manon") qtRectangle = self.frameGeometry() centerPoint = QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(centerPoint) self.move(qtRectangle.topLeft()) self.central_widget = QStackedWidget() self.setCentralWidget(self.central_widget) self.principal = Principale(self) self.logo = LogoWindow(self) self.photo = Image13(self) self.qr = QRcode(self) self.final = Final(self) self.central_widget.addWidget(self.principal) self.central_widget.addWidget(self.logo) self.central_widget.addWidget(self.photo) self.central_widget.addWidget(self.qr) self.central_widget.addWidget(self.final) self.central_widget.setCurrentWidget(self.principal)
Merci !
Maxcou
Partager