Рассмотрим на примере стилизации QProgressDialog'а:
main.qss:
QProgressBar:horizontal {
border: 1px solid gray;
border-radius: 3px;
background: white;
padding: 1px;
}
QProgressBar::chunk:horizontal {
background: qlineargradient(x1: 0, y1: 0.5, x2: 1, y2: 0.5, stop: 0 white, stop: 0.5 blue, stop: 1 white);
}
Updated:
При этом можно данный стиль выставить как непосредственно для экземпляра компонента:
пример кода:
progressDialog = new QProgressDialog();
progressDialog->setStyleSheet(QString::fromUtf8("QProgressBar:horizontal {"
"border: 1px solid gray;"
"border-radius: 3px;"
"background: white;"
"padding: 1px;"
"}\n"
"QProgressBar::chunk:horizontal {\n"
"background: qlineargradient(x1: 0, y1: 0.5, x2: 1, y2: 0.5, stop: 0 white, stop: 0.5 blue, stop: 1 white);\n"
"}"));
// Индикатор не имеет определённых конечных значений, т.н. busy indicator
progressDialog->setMinimum(0);
progressDialog->setMaximum(0);
progressDialog->show();
Так и можно установить его QApplication (qApp), загрузив стиль из файла, и соответствующие компоненты будут использовать необходимые им css-классы:QFile file("main.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
// qApp - глобальный указатель на экземпляр QApplication
qApp->setStyleSheet(styleSheet);
file.close();
Стилизованный QProgressDialog
Reference: Qt-Labs: Styling QProgressBar and QScrollBar
Комментариев нет:
Отправить комментарий