Comment je peux envoyer un signal lorsque au moins un élément du Treeview est checked ?
Bonjour,
Je voudrais activer un QCommand Link button lorsqu'au moins un élément du Treeview est checked. Pour cela, je dois envoyer un signal détectant qu'un élément est checked.
Pour info, j'ai implémenté mon Treeview avec des éléments checked en utilisant le modèle QAbstractItemModel et en utilisant cette méthode : item.setCheckable(True) (item = QtGui.QStandardItem)
Je voudrais avoir des pistes.
Merci.
Solution finale : ça marche très bien pour moi
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| def activate_launch_button(self):
model = self.scenarios.model()
model.itemChanged.connect(self.check_configure)
def check_configure(self,item):
model = self.scenarios.model()
index = model.indexFromItem(item)
if index.data(QtCore.Qt.CheckStateRole) != index.data(QtCore.Qt.UserRole + QtCore.Qt.CheckStateRole):
if index.data(QtCore.Qt.CheckStateRole)!= QtCore.Qt.Unchecked :
self.count_check+=1
model.setData(index,index.data(QtCore.Qt.CheckStateRole),QtCore.Qt.UserRole + QtCore.Qt.CheckStateRole)
else :
self.count_check-=1
model.setData(index,index.data(QtCore.Qt.CheckStateRole),QtCore.Qt.UserRole + QtCore.Qt.CheckStateRole)
print self.count_check
self.launch_btn.setEnabled(self.count_check>0) |