Плоский QPushButton, фоновый цвет не работает

Я создал QPushButton в Qt Designer с помощью этой таблицы стилей:

QPushButton#pushButton { 
    background-color: #ffffff;
}
QPushButton#pushButton:disabled {
    background-color: yellow; 
}
QPushButton#pushButton:pressed {
    background-color: orange; 
}
QPushButton#pushButton:focus:pressed { 
    background-color: black;
 }
QPushButton#pushButton:focus { 
    background-color: green; 
}
QPushButton#pushButton:hover {
     background-color: red;
 }
QPushButton#pushButton:checked { 
    background-color: pink;
 }

Это работает, но когда я проверяю «квартиру» в свойствах, это больше не работает, я хотел бы спросить вас, почему? И как мне это сделать, если мне нужна квартира QPushButton ?


person tomsk    schedule 07.01.2016    source источник
comment
Это выше очень, очень, очень, очень полезно! Спасибо, что поделился   -  person CybeX    schedule 27.01.2018
comment
@KGCybeX добро пожаловать :)   -  person tomsk    schedule 02.02.2018


Ответы (1)


Что касается второй части вашего вопроса: не используйте свойство «flat», а измените свою таблицу стилей, чтобы добиться плоского вида, например, так:

QPushButton#pushButton { 
    background-color: #ffffff;
    border: 0px;
}
/* ... plus the rest of your stylesheet ... */

По части "почему не работает"? По моему опыту, смешивание таблиц стилей и опций, не относящихся к таблицам стилей, для виджетов приводит к множеству загадочных эффектов, которые трудно объяснить. Я перестал спрашивать «почему».

person ThorngardSO    schedule 07.01.2016