无法隐藏的QComboBox
问题描述:
选择-指示灯当我设置属于QComboBox(每QSS)列表视图的背景颜色,那么这个QComboBox将不再使用内置光学外观和感觉。 Instaed我也必须指定所有的光学配置每QSS-样式表:
QComboBox QListView {
background-color:white;
border:1px solid black;
}
列表视图,它显示了chosable项目,现在显示在左侧的复选框。检查这个盒子是否为上次使用时选择的项目。
如何隐藏带有复选框的列,以便它们不可见并且不会消耗屏幕上的任何空间?
在此先感谢...
答
QSS变通方法QComboBox
的艰难逼平话题如果不使用QSS块时,QComboBox画有其OS-Look-和感觉。如果您开始指定QSS规则,则QComboBox的部分或全部子控制开始失去操作系统外观。在最糟糕的情况下,您必须现在指定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;
}