1

我尝试了许多不同的选项来设置 QCombobox 的样式,但在 mac osx 上仍然存在一些问题。它看起来像这样:查看 osx http://img90.imageshack.us/img90/9550/stylesheets.png

我想删除视图列表的白色顶部/底部,但我似乎找不到这样做的方法。

这是我现在拥有的代码:

QComboBox{
    color:rgba(200,200,200,255);
    background-color:rgba(71,71,71,255);
    selection-color:rgba(243,149,0,255);
    selection-background-color:rgba(71,71,71,255);
}
QComboBox QAbstractItemView{
    border-radius:0px;
    border:0px;
    selection-background-color:rgba(71,71,71,255);
    background:rgba(71,71,71,255);
    color:rgb(200,200,200);
}

任何帮助表示赞赏

谢谢

4

1 回答 1

3

使用自己的应用程序样式(基于 QProxyStyle)并覆盖 QProxyStyle::styleHint 为:

    int CMyProxyStyle::styleHint( StyleHint 提示, const QStyleOption*
    选项 = 0,常量 QWidget* 小部件 = 0,QStyleHintReturn* returnData =
    0 ) 常量   
    {
        如果(SH_ComboBox_Popup == 提示)
          return 0;//禁用组合框弹出顶部和底部区域
        return QProxyStyle::styleHint(hint, option, widget, returnData);   
    }

将自己的样式安装到 qApp 实例:

    qApp->setStyle(新 CMyProxyStyle);

于 2014-01-09T11:48:20.527 回答