crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Проблема с относительным путём
tintix
  опции профиля:
сообщение 26.6.2008, 21:39
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 4.12.2007
Пользователь №: 32

Спасибо сказали: 0 раз(а)




Репутация:   0  


Дело такое - пишу графический софт, в котором для отбражения картинок использую QLabel и следуйщий код для их загрузки
label->setPixmap(QPixmap::fromImage(QImage("theImage.png")));


Когда в Линуксе прогу запускаю через терминал, всё работает. А когда прога запускается с в файловом менеджере двойным щелчком мышки, то Qt не понимает, что пути для картинок даны как относительные, и картинки не загружаютса, Как устранить эту прблему? Буду благодарен за советы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.6.2008, 21:48
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9642
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


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

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

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

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

посему лучше использовать файл ресурсов см. тему: проблема с RCC

там в конце замечания
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tintix
  опции профиля:
сообщение 27.6.2008, 2:09
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 4.12.2007
Пользователь №: 32

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(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/



Как мне быть?

Сообщение отредактировал tintix - 27.6.2008, 2:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.6.2008, 8:39
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9642
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


Все что связано с приложением см. QApplication
в частности QApplication::applicationDirPath()
но полные пути пиши обязательно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tintix
  опции профиля:
сообщение 27.6.2008, 15:41
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 4.12.2007
Пользователь №: 32

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо - помогло! Теперь никаких проблем. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.7.2018, 21:13