Bonjour,
Je suis nouveau sur la programmation en PYQT5, ainsi j’aurais aimé une aide,
je chercher à faire une QListWidget à l’intérieur il y’a que des checkbox, ainsi qu’un filtre qui me permet de faire une recherche parmi les items dans la QListWidget.
voici le code que j’ai pu faire :
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
33
34
35
36
37
import sys
from PyQt5.QtCore import QDate, QSize, Qt
from PyQt5.QtGui import *
from PyQt5 import QtWidgets,QtCore
class Test(QtWidgets.QDialog):
def __init__(self, parent=None):
super(Test, self).__init__(parent)
self.layout = QtWidgets.QVBoxLayout()
self.listWidget = QtWidgets.QListWidget()
self.listWidget.itemEntered.connect(lambda item: item.setCheckState(Qt.Checked if item.checkState()==Qt.Unchecked else Qt.Unchecked))
self.listWidget.setGeometry(QtCore.QRect(10, 10, 211, 291))
for i in range(10):
item = QtWidgets.QListWidgetItem("Item %i" % i)
item.setCheckState(Qt.Unchecked)
self.listWidget.addItem(item)
self.listWidget.itemClicked.connect(self.printItemText)
self.layout.addWidget(self.listWidget)
self.setLayout(self.layout)
def printItemText(self):
items = self.listWidget.selectedItems()
print (self.listWidget.itemClicked)
for i in range(len(items)):
print (str(self.listWidget.selectedItems()[i].text()))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
form = Test()
form.show()
app.exec_()
les problèmes auxquels je suis confronté sont:
-je n’arrive pas à savoir quelle checkbox est sélectionnée, à terme je cherche à remplir une liste avec les items sélectionnées ("il faut prendre en compte ceux qui ont changé d’état")
-un filtre qui me permet de chercher rapidement un item, IMPOSSIBLE de trouver quoi que ce soit sur internet :/
je vous remercie d’avance pour vos réponses
+0
-0