gpt4 book ai didi

checkbox - 无法隐藏 QComboBox 的选择指示器

转载 作者:行者123 更新时间:2023-12-05 01:48:28 26 4
gpt4 key购买 nike

程序员

当我设置属于QComboBox(根据QSS)的 ListView 的背景色时,此QComboBox 将不再使用内置光学外观。 Instaed 我还必须根据 QSS 样式表指定所有光学设置:

QComboBox QListView {
background-color:white;
border:1px solid black;
}

显示可选项目的 ListView 现在在左侧显示一个复选框。此框已选中那些在上次使用时选择的项目。

如何隐藏带有复选框的列,使它们不可见并且不会占用屏幕上的任何空间?

提前致谢...

最佳答案

QComboBox 一个难绘制主题的 QSS 解决方法

如果您不使用 QSS block ,QComboBox 将使用其 OS-Look-and-Feel 绘制。如果您开始指定 QSS 规则,QComboBox 的部分或所有子控件将开始失去 OS-Look-and-Feel。在最坏的情况下,您现在必须在 QSS 中指定所有属性。

本文的主题是选择指示器,由 QStyleViewItem 类绘制,它是在 QT 源中的 .../src/gui/widgets/qcombobox_p.h 中实现的渲染助手。这个功能似乎不可能被 QProxyStyle 的子类修改,它可以在其他情况下用于解决硬布局问题。

但是,我通过指定一组精心选择的规则在 QSS 中找到了解决方案:

/* Background color of popup-list.*/ 
QComboBox QListView{
background-color:white;
border:1px solid gray;
}
/* Needed to complete the rule set. */
QComboBox::item:alternate {
background: white;
}
/* Color of the selected list item. */
QComboBox::item:selected {
border: 1px solid transparent;
background:yellow;
}
/* Indicator will shine through the label text if you don't make it hidden. */
QComboBox::indicator{
background-color:transparent;
selection-background-color:transparent;
color:transparent;
selection-color:transparent;
}

关于checkbox - 无法隐藏 QComboBox 的选择指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11609337/

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