无法隐藏的QComboBox

问题描述:

程序员无法隐藏的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; 
}