Ozan Yurtsever ответы работают, но это плохая практика.
Вы не должны использовать имена объектов для таблицы стилей, кроме случаев, когда вы хотите стилизовать очень уникальный виджет в вашемприложение.Он подвержен ошибкам и более многословен.
Таблицы стилей Qt уже позволяют то, что вы хотите по умолчанию, вы можете перезаписать стиль для подклассов (см. Конец этой части документа ).
Как сказано в документе, порядок объявлений в таблице стилей имеет значение, поэтому ваша таблица стилей должна быть:
QPushButton
{
color: #b1b1b1;
// some code here
}
MyQPushButton
{
color: #dcdcdc;
// some code here
}
В противном случае стиль QPushButton
будет переопределять стиль MyQPushButton
, потому что MyQPushButton
также является QPushButton
.
Также возможно ограничить область действия вашего стиля только классом, а не подклассами с .QPushButton { /*some code*/ }
, см. документ о селекторах .
Последний совет, у меня были проблемы с таблицей стилей, не работающей для подкласса, проверьте, не забыли ли вы макрос Q_OBJECT
в подклассе.