在前一篇文章中,介绍了如何用QTreeWidget实现QTableWidget的效果,后来在项目应用中,延伸涉及到了添加复选框并客制化,这里分享一下我的实现方法。
其实想要实现添加复选框并不难,QTreeWidgetItem有一个setCheckState方法,调用后,该item前面就会出现一个复选框了。至于想要客制化这个复选框,开始我也是没有头绪,后来细想QCheckBox在样式表中都有indicator可设置,那么是否可用这个方法呢,后来一试果然OK了,下面贴出CSS部分代码:
QTreeView::indicator{width: 20px;height: 20px;}
QTreeView::indicator{width: 18px;height: 18px;}
QTreeView::indicator:unchecked{image: url(://image/checkbox_unchecked.png);}
QTreeView::indicator:checked{image: url(://image/checkbox_checked_default.png);}