Страницы

Поиск по вопросам

среда, 17 июля 2019 г.

изменение в styleSheet

Как изменить в QPushButton только 1 элемент на styleSheet? Если сделать так:
setStyleSheet("QPushButton {" "background-color: blue;" "}");
то остальние елементи(border-radius, ... ) стают по дефолту. А нужно изменить только 1 елемент, остальние не трогать.


Ответ

Стили для отдельных элементов управления указываются через спецификатор вида класс#имя. Имена же самих элементов задаются с помощью метода setObjectName
Пример окрашивания текста кнопки с именем myButtonName в красный цвет:
#include #include
int main(int argc, char* argv[]) { QApplication app(argc, argv); app.setApplicationName("Sample Application");
// Задаём стиль для кнопки с именем myButtonName. qApp->setStyleSheet("QPushButton#myButtonName{color:red}");
// Кнопка с именем, указанным в стилях. Стили применяются. QPushButton button1; button1.setObjectName("myButtonName"); button1.setText("Red Button"); button1.show();
// Кнопка с именем, не указанным в стилях. Стили НЕ применяются. QPushButton button2; button2.setObjectName("anotherButton"); button2.setText("Another Named Button"); button2.show();
// Кнопка без имени. Стили также НЕ применяются. QPushButton button3; button3.setText("Unnamed Button"); button3.show();
button1.show(); button2.show(); button3.show(); return qApp->exec(); }

Комментариев нет:

Отправить комментарий