Bonjour � tous,
Je tiens d'abord � vous remercier en vous disant que gr�ce � l'ensemble des posts (et surtout des r�ponses) dans ce forum, de nombreuses questions que je me posais ont �t� r�solues sans que je prenne la peine de les poser. Donc merci � vous tous.
Voil� le probl�me qu'il se pose � moi et qui me fait me tourner vers vous aujourd'hui: je suis en train de faire une interface graphique pour un programme que j'ai d�velopp�. Ce programme traite des donn�es de m�trologie optique, et ce afin de suivre l'�volution de la gravure de composants micro�lectroniques en temps r�els. Voil� pour le contexte.
Je vais mettre le code que je d�veloppe plus loin, laissez moi d�crire d'abord mon probl�me.
La r�solution de ce programme est diff�rente selon la g�om�trie du composant, c'est pourquoi je demande � l'utilisateur de sp�cifier la g�om�trie utilis�e pour la r�solution du probl�me (via des checkbox). Chaque g�om�trie � des dimensions propres, que l'utilisateur peut sp�cifier via l'utilisation d'un QTableWidget.
Mon probl�me est le suivant : je veux que lorsque l'utilisateur choisi une g�om�trie donn�e, les cellules du QTableWidget �ditables soient uniquement celles correspondant � la g�om�trie, c'est � dire que lorsque je clique sur la check box correspondantes, toutes les dimensions non n�cessaires soient non �ditables. Ca, c'est bon, je sais le faire grace au QTableWidgetItem.setFlags(QtCore.Qt.ItemIsEditable).
Le probl�me que je rencontre est plut�t l'inverse. Je veux que lorsque je d�coche la checkbox, toutes les cellules qui ont �t� desactiv�es se r�activent. Et la je bloque, j'ai bien essay� un ~QtCore.Qt.ItemIsEditable ou un QtCore.Qt.ItemNoFlags, rien n'y fait. Quelqu'un aurait une id�e?
Voil� l'architecture du code me posant probl�me :
En esp�rant avoir �t� assez pr�cis. N'h�sitez pas � me demander si des questions persistent.
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 def __init__(self,parent=None): ## initialisation du tableau, Table est un QTableWidget ## self.Table.setRowCount(1) self.Table.setColumnCount(18) self.connectActions() def connectActions(self): self.RectangleGeom_CheckBox.clicked.connect(self.StateCell) ## RectangleGeom_CheckBox est une des checkbox permettant de choisir la géométrie du composant ## def StateCell(self): if(self.RectangleGeom_CheckBox.isChecked()): ## On desactive des cellules, ça ok, ça marche ## for j in [0,2,3,4,6]: ## coordonnées des cellules qui doivent être desactivées ## item=QtGui.QTableWidgetItem() item.setFlags(QtCore.Qt.ItemIsEditable) self.Table.setItem(0,j,item) else : ## dans le cas contraire, les cellules doivent être réactivées ## for j in [0,2,3,4,6]: item=QtGui.QTableWidgetItem() ## et là, je sais pas, ça fonctionne pas, des idées? ## item.setFlags(~QtCore.Qt.ItemIsEditable) self.Table.setItem(0,j,item)
Merci � vous !
Koamh
Partager