Изменение цвета QFrame в QT

Я установил серый цвет своего главного окна в QT.

ui(new Ui ::MainWindow)
ui-> setupUi(this)
this->setStyleSheet("background-color: grey;");

Я пробовал несколько способов установить цвет QFrame, однако он принимает серый цвет по умолчанию, который я установил. Один из способов, который я пробовал, приведен ниже.

ui->frame->setStyleSheet("color:rgb(255,255,255)");

Я попытался изменить цвет QFrame с помощью метода setStyleSheet, но независимо от того, какой цвет я назначаю, он остается серым. Я пробовал установить фон, границу и цвет. Есть ли способ сделать это, на что я не обращаю внимания?


person Gage Haas    schedule 13.03.2018    source источник
comment
Возможный дубликат ​​как изменить цвет фона Qwidget независимо от цвета фона его родителей   -  person eyllanesc    schedule 13.03.2018


Ответы (5)


Вам нужно установить цвет фона QFrame.

Установите для таблицы стилей QFrame следующее:

"background-color: rgb(255, 255, 255);"
person Nicholas Johnson    schedule 13.03.2018
comment
Проблема, с которой я столкнулся, заключается в том, что я хочу установить только цвет границы QFrame. Я пытаюсь установить его так: ui- ›frame-› setStyleSheet (QFrame {border: 5px solid black;}); - person Gage Haas; 13.03.2018

Для пользователей Python (PyQt):

frame = QFrame(self)
frame.setStyleSheet('background-color: rgb(50,50,50)')  
person Siddharth Mishra    schedule 05.12.2020

Установите таблицу стилей MainWindow (не QFrame) следующим образом:

QMainWindow{
   background-color: gray
}
QFrame { 
   border: 5px solid black 
} 

Это сработало для меня:

mainwindow->setStyleSheet("QMainWindow{background-color: gray} QFrame { border: 5px solid black } ");
person Yanet    schedule 13.03.2018

Некоторое время это меня беспокоило. Перед установкой фактической таблицы стилей сначала отключите ее:

    ui->frame->setStyleSheet("");
    ui->frame->setStyleSheet("background-color: rgb(255,255,255)");

Дополнительные параметры настройки см. На странице https://doc.qt.io/qt-5/stylesheet-examples.html, а для более крупных проектов вы можете подумать о настройке глобальных таблиц стилей для своего приложения.

person MAPster    schedule 02.03.2020

Это работает для меня:

ui->frame->setStyleSheet("background-color: rgb(251, 255, 206);");
person PeterN    schedule 13.03.2020