Qt如何使QTreeWidget始终保持展开?
默认情况下双击QTreeWidget的Item,如果该Item含有子Item那么Item就会被展开或收缩,但有些时候我们不希望点击Item时子Item收缩。例如利用父Item作为分组时,希望所有组始终保持展开状态该怎么办呢?
其实很简单,QTreeWidget的一个函数即可搞定,void setItemsExpandable ( bool enable ), 该函数从QTreeView继承。设置是否允许用户展开和收缩Item。
设置的就是itemsExpandable这个属性,默认是true。我们只需要设置为false就不允许用户收缩/展开Item了。但是我们的目的是要让Item始终保持展开,那不是很矛盾吗?实际上不允许用户收缩/展开但是我们可以通过接口来使Item展开。调用QTreeWidgetItem的setExpanded。更快捷的方式就是调用QTreeWidget的expandAll()。
测试代码(Qt5.9.6)