Как подключить qss фаил к проекту?

 
0
 
C++
ava
Racot | 27.03.2013, 20:24
-создал фаил main.qss
-добавил его к ресурсам

Никакого эффекта.....чего и следовало ожидать.....что нужно сделать?

Я сделал так:

QFile file(":/qss/main.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);

все работает........ но это все-таки наверно костыли какие-то...... не зря же специальное расширение .qss есть..... так можно было-бы из любого текстового файла.....) 
Ответы (8)
ava
borisbn | 27.03.2013, 19:37 #
Цитата (Racot @  27.3.2013,  19:24 findReferencedText)
не зря же специальное расширение .qss есть..... так можно было-бы из любого текстового файла

Спец. расширение - для удобства программиста (смотришь на файл и сразу понятно, что там). А так - да. Можно из любого текстового файла. Как, впрочем, и исходники можно держать в txt, а не в cpp. Короче, без тех строчек, которые ты привёл - никак.
И ещё. Может имеет смысл хранить этот файл отдельно от exe-шника. В том-то и смысл style-sheet'ов, чтобы можно было оперативно подправить не понравившийся пользователю цвет или размер. Нет ?
ava
Racot | 27.03.2013, 20:27 #
Спасибо! )
А насчет того чтобы хранить отдельно от exe-шника.......не уверен.......таскать за собой ещё несколько файлов? ... а так сделал несколько .qss......скомпилил статически.......и меняй их в программе сколько влезет) 
ava
math64 | 27.03.2013, 20:35 #
qss держать в ресурсе не имеет смысла - тогда проще его набить в строковую константу.
Результирующий екзешник будет меньше, да и пользоваться удобнее.
А утилиту, конвертирующую текстовый файл в строку C++ можно найти в инете или написать самому.
ava
Racot | 27.03.2013, 20:40 #
Цитата


qss держать в ресурсе не имеет смысла - тогда проще его набить в строковую константу.



Что это значит?

я не совсем спец, так что мне простительно)
ava
borisbn | 27.03.2013, 21:22 #
Цитата (Racot @  27.3.2013,  20:40 findReferencedText)
Что это значит?

не
Цитата
QString styleSheet = QLatin1String(file.readAll());

а
QString styleSheet = "QButton { bla_bla:red; bla_bla_bla:black; }"

Вторая запись, по большому счёту, равносильна тому, что ты держишь SS в ресурсах. Поменять стили можешь только ты, как программист/разработчик.
ava
Racot | 27.03.2013, 21:54 #
ок!  это понятно!)

Цитата

   Результирующий екзешник будет меньше, да и пользоваться удобнее.



1)ну меньше на какие-то прям байты мне кажется..... то что занимает служебная информация самого файла.......
2) в чем удобство? по мне так qss фаил более читабелен чем запихнуть все в одну строку......особенно там стили для многих элементов.....
ava
borisbn | 27.03.2013, 21:57 #
Цитата (Racot @  27.3.2013,  21:54 findReferencedText)
в чем удобство? 

тебе не предлагается запихивать всё в строку - действительно неудобно... тебе предлагают держать SS не в ресурсах, а в отдельном файле, который будет лежать рядом с exe-шником (или ещё где-то), и который можно будет редактировать без привлечения тебя как программиста
ava
Racot | 27.03.2013, 22:02 #
если так то пожалуй я выяснил для себя все что хотел...) вопрос снят....спасибо!
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
ava  borisbn   Racot   math64
advanced
Отправить