标题:QTreeWidget样式问题
作者:wocan23
日期:2019-09-17 18:04
内容:
代码:
ChartLeftTree::ChartLeftTree(QTreeWidget *parent) : QTreeWidget(parent)
{
QStringList chartNames = { "bar","pie","line" };
int size = chartNames.size();
for(int i = 0; i < size; ++i){
QString chartName = chartNames.at(i);
QTreeWidgetItem * item = new QTreeWidgetItem(this);
item->setText(0,chartName);
item->setIcon(0,QIcon(CHART_ICON_PATH));
}
this->setHeaderHidden(true);
}得到的结果是这样
我想把蓝色改成别的颜色,于是我加了一行代码(红色部分)
ChartLeftTree::ChartLeftTree(QTreeWidget *parent) : QTreeWidget(parent)
{
QStringList chartNames = { "bar","pie","line" };
int size = chartNames.size();
for(int i = 0; i < size; ++i){
QString chartName = chartNames.at(i);
QTreeWidgetItem * item = new QTreeWidgetItem(this);
item->setText(0,chartName);
item->setIcon(0,QIcon(CHART_ICON_PATH));
}
this->setHeaderHidden(true);
[color=#ff0000]this->setStyleSheet("QTreeView::item::selected{background-color:rgb(0,255,0,50)}");[/color]
}但是得到的结果是这样的
绿色没有把蓝色完全盖住,要想完全是绿色怎么改
#1 [lieber 09-19 12:34]
treeWidget的indentation属性设置成0就行了,类似于缩进,不过有子项的时候不怎么好用,等楼下大佬回答
#2 [wocan23 09-23 10:45]
后来根据一个博客找到了解决办法,这个是我的总结,https://blog.csdn.net/wocan23/article/details/100986237