相关疑难解决方法(0)

QComboBox AbstractItemView :: item

有没有办法可以增加QComboBox控件中列出的项目的高度?

我尝试按照QTDevNet论坛中的建议进行操作,但没有运气

QComboBox QAbstractItemView::item {margin-top: 3px;}
Run Code Online (Sandbox Code Playgroud)

我也试过这个,仍然没有结果.

QComboBox QAbstractItemView::item {min-height: 20px;}
Run Code Online (Sandbox Code Playgroud)

是否有可能在样式表层面实现这一目标?

qt qt4 qcombobox qtstylesheets

9
推荐指数
1
解决办法
8175
查看次数

如何更改(删除)QListWidget 的选择/活动颜色

在我的中QListWidget,有一些项目具有非默认背景颜色,我在自定义QListWidget类中将它们设置如下:

item->setBackgroundColor(qcolor); // item is of type QListWidgetItem*
Run Code Online (Sandbox Code Playgroud)

我设置的那些非默认颜色会被 的QListWidget选择颜色扭曲。看一个例子:

在此输入图像描述

项目threefour应该是相同的颜色,但由于four选择了该项目,因此它们不是相同的颜色,因此结果颜色是原始颜色和QListWidget的选择(活动项目?)颜色的总和。

我的问题是如何编辑或删除该选择颜色?

我在我的内部尝试过QListWidget(当我想更改项目的背景颜色时在特殊插槽中):

QPalette pal = this->palette();
pal.setColor(QPalette::Highlight, QColor(255,255,255,0));
this->setPalette(pal); // updated
Run Code Online (Sandbox Code Playgroud)

但并没有产生任何效果。我究竟做错了什么?设置的变量是否正确?QListWidget我是在其委托内部还是在其委托内部设置它?

更新:我尝试使用评论/答案所指出的样式表,但是,不可能将它们用于我的应用程序,因为我行中的项目有 3 种状态(所以我需要使用三种颜色)。例如,3 个状态对应于三种颜色:粉色表示活动,绿色表示不活动,灰色表示其余。使用样式表时,我无法将自定义属性(比方说QListWidget::item[Inactive="true"])设置为 single QListWidgetItem,但对于 full QListWidget,因此它将所有行设置为相同的颜色。

在这里尝试使用样式表来解决类似的问题,但没有成功,因此我得出结论,使用样式表不是正确的方法。

我最初使用的背景更改方法可以很好地满足我的目的,但我无法弄清楚如何摆脱默认选择颜色(透明浅蓝色),它会添加到背景颜色并产生混合颜色。

qt qlistwidget qt5 qpalette

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

qt ×2

qcombobox ×1

qlistwidget ×1

qpalette ×1

qt4 ×1

qt5 ×1

qtstylesheets ×1