Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: pethead от Октябрь 24, 2010, 18:11



Название: [solved]Не грузится картинка на кнопку по относительному пути
Отправлено: pethead от Октябрь 24, 2010, 18:11
в одном проекте код
myButton->setIcon(QIcon(":/images/mybutton.png"));
работает.
здесь images в папке проекта.

в другом проекте работает только так:
myButton->setIcon(QIcon("с:/images/mybutton.png"));
здесь относительный путь не работает (работает абсолютный).

не понимаю что может быть.
нигде нет никакого задания пути... оба проекта в принципе идентичны.



Название: Re: Не грузится картинка на кнопку по относительному пути
Отправлено: DOOMer от Октябрь 24, 2010, 18:20
А сами файды у вас точно лежат по указанным путям?

Если графику грущите не из ресурсов, а с жесткого диска -- используйте абсолютные пути, используя для их генерации QCoreApplication::applicationDirPath() + qdir::separetor() + "path/to/file".



Название: Re: Не грузится картинка на кнопку по относительному пути
Отправлено: pethead от Октябрь 24, 2010, 18:24
конечно файлы лежат по указанному пути. ведь в первом проекте все грузится.
а как из ресурса?


Название: Re: Не грузится картинка на кнопку по относительному пути
Отправлено: KADABRA от Октябрь 24, 2010, 18:27
а как из ресурса?
http://doc.qt.nokia.com/4.7/resources.html


Название: Re: Не грузится картинка на кнопку по относительному пути
Отправлено: pethead от Октябрь 24, 2010, 18:53
оказывается
myButton->setIcon(QIcon(":/images/mybutton.png"));
и задает вынание из ресурса. ресурс компилится без ошибок. файлы есть.
но в одном проекте все работает, в другом нет.
Q_INIT_RESOURCE(application);
прописан.



Название: Re: Не грузится картинка на кнопку по относительному пути
Отправлено: pethead от Октябрь 24, 2010, 19:39
нашел:
в ресурсном файле Студия влепила префикс
<qresource prefix="AppName">
в итоге структура
static const unsigned char qt_resource_struct[] = {
содержала пути
// :/AppName/images/background3.png
хотя в самом ресурсном файле было
// :/images/background3.png
ну и в обращении к ресурсу