gpt4 book ai didi

qt - 将样式表设置为 QListWidgetItem 后,QListWidgetItem 上的 SetBackGround 不再起作用

转载 作者:行者123 更新时间:2023-12-03 20:37:33 24 4
gpt4 key购买 nike

我正在尝试使用 QListWidgetItems 制作 QListWidget。
我希望 QListWidgetItems 具有边框和背景,例如绿。
所选项目应该有另一个背景,例如红色的。
我试图用样式表创建边框。这工作正常。
但我无法再设置项目的个人背景颜色。

下面是我正在使用的一段代码

QListWidget *listWidget = new QListWidget();
QListWidgetItem *wi = new QListWidgetItem;
wi->setText("greenbg");
wi->setBackgroundColor(Qt::green);
listWidget->addItem(wi);

listWidget->setStyleSheet( "QListWidget::item {border-style: solid; border-width:1px; border-color:black;}");

QListWidgetItem *wi2 = new QListWidgetItem;
wi2->setText("redbg");
wi2->setBackgroundColor(Qt::red);
listWidget->addItem(wi2);
listWidget->show;

这将显示列表透明。删除 setStyleSheet 行后,项目为绿色和红色。
我做错了什么或者不可能,我应该使用自定义小部件吗?

最佳答案

CSS 正在覆盖您在那里设置的值。尝试在 CSS 中也设置背景颜色:

listWidget->setStyleSheet( 
"QListWidget::item {"
"border-style: solid;"
"border-width:1px;"
"border-color:black;"
"background-color: green;"
"}"
"QListWidget::item:selected {"
"background-color: red;"
"}");

请注意,您可以为不同的状态指定不同的样式(即该项目被选中)。

示例及其他信息 here .

关于qt - 将样式表设置为 QListWidgetItem 后,QListWidgetItem 上的 SetBackGround 不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18919493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com