Автор: 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
Спасибо - помогло! Теперь никаких проблем.