c++ - HorizontalHeader with QCheckBox in cell 0 -


how add horizontalheader checkbox in first index (cell 0) qtablewidget in qt? below instructions did not work.

headeritem->setflags(headeritem->flags() ^ qt::itemiseditable); headeritem->data(qt::checkstaterole); headeritem->setcheckstate(qt::checked); qtablewidget->sethorizontalheaderitem(0,headeritem); 

please share thoughts

you can set flag, see documentation:

headeritem->setflags(headeritem->flags() ^ qt::itemiseditable | qt::itemisusercheckable); 

that first thought. after several tries , research in documentation , several fora quite sure, items in qheaderview don't support checkboxes.

but can set different icons headeritem in dependance of (pseudo-)checkstate , save checkstate if necassary in headeritem.data(userrole). did in following steps (i know python, think, can translate c++):

set icon:

headeritem.seticon(qtgui.qicon('unchecked.png')) headeritem.setdata(256,'unchecked') headeritem.setflags(qtcore.qt.itemisenabled|qtcore.qt.itemisselectable) 

connect signal

self.horizontalheader().sectionclicked.connect(self.changeicon) 

and define method change icons

def changeicon(self,index):     if self.horizontalheaderitem(index).data(256) == 'unchecked':         self.horizontalheaderitem(index).seticon(qtgui.qicon('checked.png'))         self.horizontalheaderitem(index).setdata(256,'checked')     else:         self.horizontalheaderitem(index).seticon(qtgui.qicon('unchecked.png'))         self.horizontalheaderitem(index).setdata(256,'unchecked') 

that's result:

unchecked

and checked


Comments

Popular posts from this blog

css - SVG using textPath a symbol not rendering in Firefox -

Java 8 + Maven Javadoc plugin: Error fetching URL -

datatable - Matlab struct computations -