Augmenter la taille d'une cellule

Résolu
cleml -  
 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

jee pee Messages postés 41515 Date d'inscription   Statut Modérateur Dernière intervention   9 716
 
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
cleml
 
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