QT5: Невозможно установить свойства таблицы стилей с помощью файла qss - PullRequest
0 голосов
/ 29 апреля 2020

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

QFile file(":/dark.qss");
        file.open(QFile::ReadOnly | QFile::Text);
        QTextStream stream(&file);
        qApp->setStyleSheet(stream.readAll()); '''

и

 QFile f(":/dark.qss");

if (!f.exists())   {
    printf("Unable to set stylesheet, file not found\n");
}
else   {
    f.open(QFile::ReadOnly | QFile::Text);
    QTextStream ts(&f);
    qApp->setStyleSheet(ts.readAll());
}

Для первого я получаю: QIODevice :: read \ dark.qss устройство не открыть

и для второго Невозможно установить таблицу стилей, файл не найден

Второй работал нормально 2 недели go (сборка с msys2, mingw64, qt5.14.1.3), к сожалению, мне пришлось переустановить mysys2, и с тех пор это больше не работает.

Я пытался собрать с использованием msys2 со всеми пакетами, которые использовал 2 недели a go (пришлось понизить около 80 пакетов вручную) также прямо из Qt Creator без удачи.

Есть идеи, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Проблема не имеет ничего общего с msys. Наиболее очевидная причина - неправильная настройка проекта. Убедитесь, что dark.qss добавлен в файл ресурсов (qr c) с префиксом "/", а файл qr c добавлен в RESOURCES в файле pro.

Также имеется ошибка в qmake, иногда не добавляющая недавно добавленные ресурсы в приложение. В этой ситуации может помочь полное перестроение.

Было бы здорово, если вы вставите сюда файл qr c и pro. Также может быть полезен полный журнал сборки.

0 голосов
/ 29 апреля 2020

Возможно, в вашем файле .pro отсутствует переменная RESOURCES с именем файла .qr c.

Вы также можете попробовать выполнить Очистить и Запустить qmake on Ваш проект перед сборкой.

...