Как изменить цвет шрифта для метки QMessageBox?

Что я имею в виду

QMessageBox::question, QMessageBox::warning, QMessageBox::critical, QMessageBox::Information { /* Base Text Size & Color */
font-size:12px;
color:#ffffff;
}

Если я попробую QmessageBox .QLabel, это изменит шрифт для всех форм/окон

конец, как добавить фон, если я использую глобальные настройки для всех

QDialog {
border-image: url(':/images/image') 0 0 0 0 stretch stretch;
}

он установлен, но как установлен только для этого QMessageBoxes.

Это я понимаю, но хв другая проблема, добавляю на задний план

QMessageBox QLabel {
background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0.5 rgba(0, 0, 0, 102));
border:0;
border-radius:6px;
font-size:10px;
font-weight:bold;
padding-left:5px;
padding-right:5px;
padding-top:5px;
padding-bottom:5px; 

но он добавляет к значку, как это исправить?

введите здесь описание изображения


person tseries    schedule 18.07.2017    source источник
comment
Извините, а что именно вы пытаетесь сделать? Вы хотите добавить фон для всех QMessageBox? или для QDialog?   -  person Ph03n1x    schedule 18.07.2017
comment
Я пытаюсь изменить цвет шрифта для конца QMessageBox (диалога), добавив к ним собственный фон. Если я использую глобальное изображение для всех QDialo, оно добавляется в диалоговое окно QMessageBoxes. Со шрифтом для QLabel то же самое.   -  person tseries    schedule 18.07.2017
comment
Проблема в том, что если установить глобально черное изображение - это сделает нечитаемый черный шрифт на QmessageBox критичным, Info и т.д... Для всех изменений формы шрифт прост, но как с qss - установить стиль только для этого qmessageboxes,   -  person tseries    schedule 18.07.2017


Ответы (3)


Ты пытался:

QMessageBox {
    background-color: rgb(51, 51, 51);
}

QMessageBox QLabel {
    color: rgb(200, 200, 200);
}

http://doc.qt.io/qt-5/stylesheet-syntax.html

person Ph03n1x    schedule 18.07.2017
comment
Это я понимаю, но у меня есть другая проблема, которую я добавляю в фон QMessageBox QLabel { background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0.5 rgba(0, 0 , 0, 102)); граница:0; радиус границы: 6px; размер шрифта: 10 пикселей; вес шрифта: полужирный; отступ слева: 5px; заполнение справа: 5px; заполнение сверху: 5px; заполнение снизу: 5px; } но он добавляется к значку, как это исправить? - person tseries; 18.07.2017
comment
Куда вы хотите добавить значок? Вы хотите добавить изображение в окно сообщения? - person Ph03n1x; 18.07.2017
comment
Для этого вы должны использовать функцию setIconPixmap(const QPixmap & pixmap) объекта QMessageBox. то есть: messageBoxInstance.setIconPixmap(QPixMap(:/pictures/yourPic.jpg)); - person Ph03n1x; 18.07.2017
comment
Как установить значок я знаю - person tseries; 18.07.2017
comment
Разве это не ваше изображение с более темным фоном? Может быть, вы можете попробовать сделать остальную часть изображения прозрачной в фотошопе. - person Ph03n1x; 18.07.2017

setStyleSheet("QMessageBox{background: rgb(255,0,0);  border: none;font-family: Arial; font-style: normal;  font-size: 15pt; color: #000000 ; }");

результат введите здесь описание изображения

person Vahagn Avagyan    schedule 18.07.2017

Вы также можете установить цвет с помощью тегов внутри строки, переданной в качестве параметра в QMessageBox:

QMessageBox::question(this, "Question", "<FONT COLOR='#ff0000'>Are you ready?</FONT>",
                                  QMessageBox::Yes|QMessageBox::No);

Вопросное окно сообщения с красным цветом шрифта


person Eduardo    schedule 06.11.2019