Qt 将样式表设置为QListWidgetItem后,QListWidgetItem上的SetBackGround不再工作
我正在尝试使用QListWidgetItems制作QListWidget。 我希望QListWidgetItems具有边框和背景,例如绿色。 所选项目应具有其他背景,例如红色。 我试图用样式表创建边框。这个很好用。 但是我不能再设置项目的单独背景颜色了 下面是我正在使用的一段代码Qt 将样式表设置为QListWidgetItem后,QListWidgetItem上的SetBackGround不再工作,qt,Qt,我正在尝试使用QListWidgetItems制作QListWidget。 我希望QListWidgetItems具有边框和背景,例如绿色。 所选项目应具有其他背景,例如红色。 我试图用样式表创建边框。这个很好用。 但是我不能再设置项目的单独背景颜色了 下面是我正在使用的一段代码 QListWidget *listWidget = new QListWidget(); QListWidgetItem *wi = new QListWidgetItem; wi->setText("green
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;"
"}");
请注意,您可以为不同的状态指定不同的样式(即,该项处于选中状态)
示例和其他信息。谢谢,这就是我要找的!