• 2153阅读
  • 2回复

[提问]QTreeWidget样式问题 [复制链接]

上一主题 下一主题
离线wocan23
 

只看楼主 倒序阅读 楼主  发表于: 2019-09-17
代码:
  1. ChartLeftTree::ChartLeftTree(QTreeWidget *parent) : QTreeWidget(parent)
  2. {
  3.      QStringList chartNames = { "bar","pie","line" };
  4.     int size = chartNames.size();
  5.     for(int i = 0; i < size; ++i){
  6.         QString chartName = chartNames.at(i);
  7.         QTreeWidgetItem * item = new QTreeWidgetItem(this);
  8.         item->setText(0,chartName);
  9.         item->setIcon(0,QIcon(CHART_ICON_PATH));
  10.     }
  11.     this->setHeaderHidden(true);
  12. }
得到的结果是这样

我想把蓝色改成别的颜色,于是我加了一行代码(红色部分)
  1. ChartLeftTree::ChartLeftTree(QTreeWidget *parent) : QTreeWidget(parent)
  2. {
  3.      QStringList chartNames = { "bar","pie","line" };
  4.     int size = chartNames.size();
  5.     for(int i = 0; i < size; ++i){
  6.         QString chartName = chartNames.at(i);
  7.         QTreeWidgetItem * item = new QTreeWidgetItem(this);
  8.         item->setText(0,chartName);
  9.         item->setIcon(0,QIcon(CHART_ICON_PATH));
  10.     }
  11.     this->setHeaderHidden(true);
  12. [color=#ff0000]    this->setStyleSheet("QTreeView::item::selected{background-color:rgb(0,255,0,50)}");[/color]
  13. }
但是得到的结果是这样的

绿色没有把蓝色完全盖住,要想完全是绿色怎么改

本帖提到的人: @liudianwu
离线lieber

只看该作者 1楼 发表于: 2019-09-19
treeWidget的indentation属性设置成0就行了,类似于缩进,不过有子项的时候不怎么好用,等楼下大佬回答
2条评分好评度+1贡献值+1
wocan23 好评度 +1 - 2019-09-23
wocan23 贡献值 +1 - 2019-09-23
离线wocan23

只看该作者 2楼 发表于: 2019-09-23
后来根据一个博客找到了解决办法,这个是我的总结,https://blog.csdn.net/wocan23/article/details/100986237
快速回复
限100 字节
 
上一个 下一个