Таблицы стилей со списком Qt на max osX

Я пробовал много разных вариантов стилизации QCombobox, но у меня все еще есть некоторые проблемы с mac 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);
}

Любая помощь приветствуется

Спасибо


person Lex    schedule 28.04.2013    source источник
comment
возможный дубликат стиля поля всплывающего меню QComboBox Qt 4   -  person Lol4t0    schedule 28.04.2013
comment
Ответ на этот пост не решает мою проблему.   -  person Lex    schedule 28.04.2013
comment
Я частично решил проблему, изменив QStyle QCombobox. Он установлен на QWindowsStyle... поэтому у меня нет проблемы с mac osx. Тем не менее проблема не решается сама по себе   -  person Lex    schedule 28.04.2013


Ответы (1)


Используйте собственный стиль приложения (на основе QProxyStyle) и переопределите QProxyStyle::styleHint как:


    int CMyProxyStyle::styleHint( StyleHint hint, const QStyleOption*
    option = 0, const QWidget* widget = 0, QStyleHintReturn* returnData =
    0 ) const   
    {
        if( SH_ComboBox_Popup == hint )
          return 0;//disable combo-box popup top & bottom areas
        return QProxyStyle::styleHint( hint, option, widget, returnData );   
    }

установить собственный стиль в экземпляр qApp:


    qApp->setStyle( new CMyProxyStyle );

person Artiom Khachaturian    schedule 09.01.2014
comment
Рад видеть, что вы решили проблему;) Я подтверждаю, что это работает. С помощью этого метода вы также можете сохранить изменения, внесенные в QComboBox через таблицы стилей? Если да, то как? - person Lex; 10.01.2014
comment
да, потому что мы используем в нашем приложении пользовательский QSS (также и для выпадающих списков) - person Artiom Khachaturian; 11.01.2014