Bonjour,
J'aimerai savoir si il est possible de mettre une QCheckBox dans un QTableWidgetItem puis ensuite dans un QTableWidget?
Et surtout comment faire, car dans un item on peut mettre que du QString?
Alaninho
Bonjour,
J'aimerai savoir si il est possible de mettre une QCheckBox dans un QTableWidgetItem puis ensuite dans un QTableWidget?
Et surtout comment faire, car dans un item on peut mettre que du QString?
Alaninho
Meuuh non, qu'on peut mettre que des QString
Salut,
Une checkBox c'est tout simple:
Dans cet exemple, tu peux mettre un argument de ta fonction qui permettra que ta checkBox soit checkée ou non au départ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 def fonction_qui_ajoute_une_ligne(self, arg): r = self.rowCount() self.insertRow(r) ... obj = QtGui.QTableWidgetItem() obj.setText("Checkez moi") obj.setFlags(QtCore.Qt.ItemIsUserCheckable|QtCore.Qt.ItemIsEnabled) if arg: obj.setCheckState(QtCore.Qt.Checked) else: obj.setCheckState(QtCore.Qt.Unchecked) self.setItem(r, col, obj)
je comprend pas bien ton exemple, quand je met ceci dans mon code, j'ai bien "checkez moi" écrit dans les cellules mais pas de checkbox. A moins que c'est normal?
Désolé. Peux tu me montrer le résultat que tu obtiens par exemple.
Alan
Bonjour.
Non ce n'est pas normal
Chez moi, ce code fonctionne parfaitement.
Relis ton code. Tu a dû oublier quelque chose.
Si tu ne trouve pas. Poste le code qui te pose problème.
Bonjour,
A mon avis, il faut intégrer le checkbox directement dans la case du tablewidget, sans passer par un tablewidgetitem:
Tyrtamos
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
24
25
26
27
28
29
30
31
32 #!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui ############################################################################# class Fenetre(QtGui.QWidget): def __init__(self, parent=None): super(Fenetre, self).__init__(parent) self.setWindowTitle(u"Code test") # créer le tableau self.table = QtGui.QTableWidget(self) self.table.setColumnCount(3) self.table.setRowCount(3) # remplir la case ligne=1 et colonne=1 avec un QCheckBox cb = QtGui.QCheckBox(u"<= à sélectionner") self.table.setCellWidget(1, 1, cb) # positionnement du widget dans la fenetre posit = QtGui.QGridLayout() posit.addWidget(self.table, 0, 0) self.setLayout(posit) ############################################################################# if __name__ == "__main__": app = QtGui.QApplication(sys.argv) fen = Fenetre() fen.show() sys.exit(app.exec_())
Si si, il marche mon code.
Une petite photo:
Montres nous le tien, si tu veux bien, ça ira plus vite.
Partager