Как динамически установить таблицу стилей .qss для моего приложения

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

  • в QMainWindow нет setStyleSheet
  • кажется, нет хорошего способа получить экземпляр QApplication из QMainWindow (кстати, так ли глупо понимать: доступ к экземпляру приложения из mainWindow? это невинный вопрос)

Итак, у меня есть этот код, я не знаю, куда поместить:

if( !QFile::exists(fileName) )
    return;
QFile styleFile(fileName);
if( !styleFile.open(QFile::ReadOnly))
    return;
QString style( styleFile.readAll() );

person AmirH    schedule 19.03.2021    source источник
comment
Вы просто ищете qApp?   -  person G.M.    schedule 19.03.2021


Ответы (1)


Как было сказано в комментарии к моему вопросу, qApp - это ответ. (Глобальный указатель, ссылающийся на уникальный объект приложения.)

person AmirH    schedule 19.03.2021
comment
Пожалуйста, попросите комментатора опубликовать комментарий в качестве ответа и принять / проголосовать за него вместо того, чтобы публиковать его самостоятельно. Люди, оказавшие полезную помощь, заслуживают похвалы за это. - person scopchanov; 19.03.2021