Установите определенный стиль для определенного QMessageBox

Как установить определенный стиль для определенного QMessageBox в Qt. В частности, я хотел бы вызвать окно сообщения, которое написано ниже, установив размер шрифта и цвет для текста «Молодец !!!».

QMessageBox::information(this, "Done", "Well done!!!");

person Narek    schedule 23.12.2010    source источник


Ответы (3)


Используя этот статический метод, вы не можете напрямую обращаться к QMessageBox, потому что он создается и уничтожается полностью внутри функции. Но вы можете попытаться изменить свойство таблицы стилей вызывающего объекта перед вызовом этой функции. Это означает, что вызывающий объект должен быть потомком QWidget...

что-то вроде этого:

QString tmpStyleSheet=this->styleSheet();
this->setStyleSheet("style sheet for your QMessageBox");
QMessageBox::information(this, "Done", "Well done!!!");
this->setStyleSheet(tmpStyleSheet);

стиль QMessageBox наследует стиль родителя...

person Raiv    schedule 23.12.2010

Вам нужно будет создать объект QMessageBox для этого конкретного окна сообщения, а затем либо setStyle(), либо setStyleSheet(), другими словами, вы не можете использовать статический вспомогательный метод.

person JimDaniel    schedule 23.12.2010

Я отформатировал текст QMessageBox с помощью HTML-кода. Извините за вопрос. И спасибо за ответы.

person Narek    schedule 23.12.2010