Как я могу применить пользовательскую тему?

#c #qt #qt5 #qtstylesheets

Вопрос:

Я использую QtCreator для создания приложения Qt на C .

Я знаю, что CSS и создание тем для элементов в моих приложениях не слишком сложно, но есть ли способ создать файл и применить его?

Я просмотрел документы Qt, но, похоже, ничего не могу найти о такой вещи.

В настоящее время я стилизую каждую отдельную кнопку и все такое, но могу ли я просто поместить все это в файл и применить ко всему сразу?

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

1. Смотрите этот проект: https://github.com/ColinDuquesnoy/QDarkStyleSheet

2. дрешерим спасибо, я обязательно попробую

Ответ №1:

просто: вы просто создаете файл, например, стиль.myStyle там вы размещаете стили для всех виджетов, включая события, атрибуты и т.д., Затем загружаете файл при запуске приложения и применяете его к приложению

вот пример того, как:

 #include <QApplication>
#include <QFile>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFile file("./style.myStyle");
    file.open(QFile::ReadOnly);
    QString styleSheet = QLatin1String(file.readAll());
    a.setStyleSheet(styleSheet);
    MainWindow w;
    w.show();
    return a.exec();
}
 

теперь в моде.Файл myStyle вы можете делать все, что захотите, например

 QPushButton
{
    background-color: white;
    border-style: outset;
    border-width: 2px;
    border-radius: 10px;
    border-color: beige;
    font: bold 14px;
    min-width: 10em;
    min-height: 20em;
    padding: 6px;
}
QPushButton:pressed
{
    background-color: rgb(224, 0, 0);
    border-style: inset;
}


QFrame, QLabel, QToolTip
{
    border: 2px solid green;
    border-radius: 2px;
    padding: 1px;
}
 

этот код создает окно, подобное этому:

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

записка:

не забудьте проверить, существует ли файл и т. Д. и т. Д.