Bonjour, j'ai un problème avec QFormLayout :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
		self.dict_caisse = {}
		self.list_caisse = ("pièce de 1c", "pièce de 2c", "pièce de 5c", "pièce de 10c", "pièce de 20c", "pièce de 50c", "pièce de 1€", "pièce de 2€", "billet de 5€", "billet de 10€", "billet de 20€", "billet de 50€", "billet de 100€", "billet de 200€", "billet de 500€", "CB", "chèque")
 
		for i in self.list_caisse:
			self.dict_caisse[i] = QtWidgets.QLineEdit()
			self.caisse_layout.addRow(i, self.dict_caisse[i])
Nom : tmp.png
Affichages : 461
Taille : 11,4 Ko

et j'ai 2 problèmes :
- les Qlabel n'ont pas la même taille, donc pas la même bordure
- ils ne sont pas centrés

est-ce qu'il vaudrait mieux utiliser une QGridLayout à la place d'un QFormLayout(qui est quand même fait pour ça .. ) ?


EDIT : j'ai modifié mon code pour utilsier un QGridLayout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
		self.dict_caisse = {}
		self.list_caisse = ("pièce de 1c", "pièce de 2c", "pièce de 5c", "pièce de 10c", "pièce de 20c", "pièce de 50c", "pièce de 1€", "pièce de 2€", "billet de 5€", "billet de 10€", "billet de 20€", "billet de 50€", "billet de 100€", "billet de 200€", "billet de 500€", "CB", "chèque")
 
		for i in self.list_caisse:
			self.caisse_layout.addWidget(QtWidgets.QLabel(text=i), self.list_caisse.index(i), 0)
			self.dict_caisse[i] = QtWidgets.QLineEdit()
			self.caisse_layout.addWidget( self.dict_caisse[i], self.list_caisse.index(i), 1)
Nom : tmp.png
Affichages : 393
Taille : 11,2 Ko

mon texte dans les QLabel n'est toujours pas centré :'(
Si quelqu'un à la solution pour faire .setAlignment() sur un objet non instancié dans ma boucle for je suis preneur... mais je préfère utiliser un stylesheet dans fichier css bien à part

utiliser des buttons non cliquable est une bonne idée ? c'est les seuls widgets à ma connaissance qui centre le texte de base

EDIT 2 : voici mon css, tout est bon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
QLabel {
	qproperty-alignment: AlignCenter;
	padding-left: 10;
	padding-right: 10;
	border: 1 solid black;
	font: 75 10pt "Trebuchet MS";
}