Кнопка раскрывающегося списка QComboBox вне рамки поля со списком

Я пытаюсь выйти за пределы рамки поля со списком с помощью этой таблицы стилей CSS Qt:

QComboBox#tab_combo {
margin: 0 26px 0 0; /* make room for the arrow */
padding: 2px 1px 2px 1px;
min-width: 19px;
min-height: 14px;
max-height: 14px;
width: 40px;
height: 14px;
//...strip
}
QComboBox#tab_combo::drop-down {
 subcontrol-origin: margin;
 subcontrol-position: center right;

 width: 19px;
 min-width: 19px;
 max-width: 19px;

 height: 14px;
 min-height: 14px;
 padding: 0;
 margin: 0;

border: 1 solid #515151;
}

QComboBox#tab_combo::down-arrow {
 image: url(:/combo_arrow.png);

 min-width: 19px;
 max-width: 19px;
 width: 19px;

 min-height: 14px;
 max-height: 14px;
 height: 14px;
}

Все получилось, кроме заполнения, вы можете видеть это на картинке (рисунок 3).

http://www.turist.lv/tmp/combo-box-trouble.png

Любое предложение ?

Спасибо

p.s Как воспроизвести: http://pastebin.com/4ZiYRUmB

Редактировать: как решить: нужно изменить CSS QComboBox с помощью этого кода:

padding: 2 -19px 2 1;
width: 59px;

person Dmitry    schedule 06.03.2012    source источник
comment
Могу я увидеть ваш раздел QComboBox#tab_combo? Вы сбросили отступы на самом QComboBox?   -  person Kamil Klimek    schedule 06.03.2012
comment
Ой, я забыл добавить, но теперь все в порядке.   -  person Dmitry    schedule 07.03.2012
comment
Дикий выстрел, но попробуйте установить правое поле на отрицательное значение. Я помню, что иногда мне приходилось делать такие вещи, чтобы добиться каких-то эффектов в QComboBox. Также убедитесь, что вы не устанавливаете отступы в QWidget или QComboBox где-то еще. Он может наследовать некоторые значения от других CSS.   -  person Kamil Klimek    schedule 07.03.2012
comment
Да, вы правы, я меняю отступы на: padding: 2 -19px 2 1; и увеличил ширину до 19 пикселей, и кажется, что это работает. Очень странный эффект, похоже на баг QT :)   -  person Dmitry    schedule 07.03.2012
comment
Qt смешивает рисование. Когда вы применяете CSS, часть вашего приложения (даже один виджет) рисуется базовым стилем, а часть рисуется стилем QtCss. Существует огромный шанс, что когда вы измените некоторые свойства в QComboBox или его подэлементах управления, padding -19 куда-то выстрелит вашей кнопкой;)   -  person Kamil Klimek    schedule 07.03.2012
comment
Также велика вероятность того, что приложение будет выглядеть по-разному на разных платформах (например, в Mac OS X). Я отправил ответ, чтобы вы могли его принять   -  person Kamil Klimek    schedule 08.03.2012


Ответы (1)


Вы должны изменить заполнение QComboBox на отрицательное значение

person Kamil Klimek    schedule 08.03.2012