Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Проблема с относительным путём

Автор: tintix 26.6.2008, 21:39

Дело такое - пишу графический софт, в котором для отбражения картинок использую QLabel и следуйщий код для их загрузки

label->setPixmap(QPixmap::fromImage(QImage("theImage.png")));


Когда в Линуксе прогу запускаю через терминал, всё работает. А когда прога запускается с в файловом менеджере двойным щелчком мышки, то Qt не понимает, что пути для картинок даны как относительные, и картинки не загружаютса, Как устранить эту прблему? Буду благодарен за советы.

Автор: Litkevich Yuriy 26.6.2008, 21:48

где картинка находится?

Путь надо писать полный (не путать с абсолютным)

Относительно текущего каталога будет так:
./theImage.png

но что считать за текущий каталог?

посему лучше использовать файл ресурсов см. тему: http://www.forum.crossplatform.ru/index.php?showtopic=881

там в конце замечания

Автор: tintix 27.6.2008, 2:09

Цитата(Litkevich Yuriy @ 26.6.2008, 21:48) *
где картинка находится?

Путь надо писать полный (не путать с абсолютным)

Относительно текущего каталога будет так:
./theImage.png

но что считать за текущий каталог?


Картинка рядом с бинарником, Повторяю - когда запускаю через теминал, всё работает, У меня появились проблемы и с другими файлами. Вобщем, как при запуске проги в Линуксе узнать из которой папки она была запущена? QDir::currentPath() работает только тогда, когда пускаю через терминал, а раз двойным кликом на бинарник - то QDir::currentPath() выдаёт только путь к моей домашней папке.

Вот, что выдаёт QDir::currentPath(), когда запускаю прогу из папки /home/tintix/coding/proga07/ через терминал
/home/tintix/coding/proga07/


а когда просто двойным щелчком мышью, то
/home/tintix/



Как мне быть?

Автор: Litkevich Yuriy 27.6.2008, 8:39

Все что связано с приложением см. QApplication
в частности QApplication::applicationDirPath()
но полные пути пиши обязательно

Автор: tintix 27.6.2008, 15:41

Спасибо - помогло! Теперь никаких проблем. :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)