Augmenter la taille d'une cellule

Résolu/Fermé
cleml - 16 mars 2021 à 19:48
 cleml - 16 mars 2021 à 22:06
Bonjour à tous, j'ai un mini projet a faire qui consiste a ouvrir un page popup avec 11 boutons qui est censé ressembler à ça :
________________________________
| 0 | 1 | 2 | 3 | 4 |
----------------------------------------------------
| 5 | 6 | 7 | 8 | 9 |
-----------------------------------------------------
| Ouvrir ! |
-----------------------------------------------------
Alors si vous compilez le code vous pourrez voir qu'il affiche bien la page popup mais le seul problème c'est que je ne sais pas comment on fait pour permettre à 'Ouvrir !' de prendre toute 3eme ligne...

Si vous pourriez m'éclairer, ou même me donner des idées, ce serait très gentil de votre part.

Merci beaucoup ;)




import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QWidget, QPushButton, QMessageBox
from PyQt5.QtCore import QCoreApplication
class FenetrePrincipale(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Les GridLayout")
self.layout=QGridLayout()

for i in range(0,5):
bouton =QPushButton(str(i),self)
bouton.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton,1,i)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

for i in range(5,6):
bouton1 =QPushButton(str(i),self)
bouton1.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton1,9,0)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

for i in range(6,7):
bouton2 =QPushButton(str(i),self)
bouton.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton2,9,1)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

for i in range(7,8):
bouton3 =QPushButton(str(i),self)
bouton.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton3,9,2)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

for i in range(8,9):
bouton1 =QPushButton(str(i),self)
bouton1.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton1,9,3)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

for i in range(9,10):
bouton1 =QPushButton(str(i),self)
bouton1.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton1,9,4)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

for i in range(1):
bouton1 =QPushButton('Ouvrir !',self)
bouton1.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton1,10,2)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

def afficherNumeroBouton(self):
texte =self.sender().text()
self.popup=QMessageBox(QMessageBox.Information,'Message','Bouton '+texte +' clique.')
self.popup.show()



app =QCoreApplication.instance()
if app is None:
app =QApplication(sys.argv)

window= FenetrePrincipale()
window.show()
app.exec_()

2 réponses

jee pee Messages postés 40487 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 28 novembre 2024 9 431
Modifié le 16 mars 2021 à 20:28
Bonjour,

Je ne connais pas du tout ce que tu utilises, mais si tout simplement tu ajoutais des blancs en debut et fin de la chaine pour la faire coïncider en taille avec les autres lignes.

'Ouvrir !'
==>
'     Ouvrir !     '
par exemple

PS : Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


0
Merci pour ta réponse !
J'ai essayé ce que tu m'as dit de faire mais cela ne marche pas, cela augmente la taille des cases de la même colonne.
Cependant j'ai réussi à trouver la solution en changeant ça :



for i in range(1):
bouton1 =QPushButton('Ouvrir !',self)
bouton1.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton1,10,2)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget

# EN ça

for i in range(0,1):
bouton1 =QPushButton('Ouvrir !',self)
bouton1.clicked.connect(self.afficherNumeroBouton)
self.layout.addWidget(bouton1,10,0,3,5)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)

# cela me permet de bien pouvoir remplir toute les cases d'une même # ligne ! :)
# Voilà Merci beaucoup
0