Augmenter la taille d'une cellule [Résolu]

Signaler
-
 cleml -
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

Messages postés
32137
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
12 juin 2021
7 737
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


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