Как изменить в QPushButton только 1 элемент на styleSheet? Если сделать так:
setStyleSheet("QPushButton {"
"background-color: blue;"
"}");
то остальние елементи(border-radius, ... ) стают по дефолту. А нужно изменить только 1 елемент, остальние не трогать.
Ответ
Стили для отдельных элементов управления указываются через спецификатор вида класс#имя. Имена же самих элементов задаются с помощью метода setObjectName
Пример окрашивания текста кнопки с именем myButtonName в красный цвет:
#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();
}
Комментариев нет:
Отправить комментарий