2014-09-27 6 views
0

Я нашел файл QSS в Интернете (http://tech-artists.org/forum/showthread.php?2359-Release-Qt-dark-orange-stylesheet), который я хотел бы использовать в качестве стиля в своем приложении. Я пытаюсь несколько разных способов импортировать этот файл в свою программу, но каждый раз, когда я запускаю свою программу, он не успешно открывает файл.
В настоящее время у меня есть файл, сохраненный как myStyle.qss в том же каталоге, что и мой проект. Я также слышал о вставке файла в файл qrc. Нужно ли это, чтобы открыть его или просто удобный способ хранения файла? Моего кода до сих пор: Проблема с настройкой стиля QT на внешний QSS-файл

QApplication a(argc, argv); 
 
    QFile file(":/myStyle.qss"); 
 
    file.open(QIODevice::ReadOnly); 
 
    QString style(file.readAll()); 
 
    a.setStyleSheet(style); 
 
    file.close();
Я видел этот блок кода в нескольких разных местах, так что я довольно уверен, что у меня есть большинство его права, и что моя основная проблема заключается только в моем размещении файла, или что я записал неправильный путь к файлу. Спасибо!

ответ

0

":/myStyle.qss" это путь, который использует для системы ресурсов Qt. Как вы сказали, этот файл в том же каталоге, поэтому попробуйте установить путь nornal, "myStyle.qss", но будьте осторожны, потому что Qt будет искать этот файл в каталоге сборки, поэтому вы должны поместить файл в каталог сборки.

Но когда ваш файл qss будет выполнен, сохраните его в ресурсах. Есть много примеров, как сделать это в Интернете (например this. В этом случае вам понадобится ваш текущий путь ":/myStyle.qss"

Зачем вам нужен ресурс?

Ресурсы встраивать в exe файл, чтобы вы никогда не потеряли эти файлы, пользователь не может удалить его или переписать. Если пользователь удалит файл qss, все ваши стили не удастся, поэтому вы должны его защитить.