如何通过styleSheet修改QTreeWidget分支子项的icon-size?
QTreeWidget子项图标大小的StyleSheet设置方案
- 纯StyleSheet无法直接指定仅子项的图标大小,因为Qt StyleSheet没有针对QTreeWidget子项的专属选择器/伪状态。
- 两种可行实现方式:
方式一:全局设置(所有项生效)
如果不需要区分父项和子项,直接给QTreeWidget设置全局图标尺寸:
QTreeWidget { qproperty-iconSize: 32px; }
方式二:仅子项生效(需结合代码)
要单独控制子项的图标大小,必须配合代码逻辑:
- 自定义
QStyledItemDelegate,在paint函数中判断当前项是否为子项(通过index.parent().isValid()判断),然后绘制时调整图标尺寸; - 或者在代码中遍历QTreeWidget的子项,对每个子项单独调用
setIconSize(需注意动态添加子项时也要同步处理)。
内容的提问来源于stack exchange,提问作者Cesar
相关产品推荐
相关产品推荐

