Russian Qt Forum
Май 14, 2024, 02:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с выводом изображений в Qt Creator  (Прочитано 8013 раз)
Svinina
Гость
« : Апрель 07, 2011, 23:06 »

Здравствуйте, товарищи. Столкнулся со следующей проблемой при работе в Qt Creator. Попытался вставить изображение:
Код:
    QPixmap pix;
    pix.load("123.jpg");
    QLabel lbl;
    lbl.setPixmap(pix);
Собрал, попытался выполнить (из-под Creator) - изображение не выводится. Попробовал запустить сам exe-шник - изображение вывелось. Прописал путь к изображению полностью:
Код:
pix.load("C:\\prog\\ololo\\123.jpg");
После этого программа стала запускаться и из-под Creator.

Вопрос: почему при запуске из Creator не воспринимается сокращенный путь к файлу? Он ищет файл в какой-то другой папке? Можно это как-то изменить?
Записан
mutineer
Гость
« Ответ #1 : Апрель 07, 2011, 23:19 »

При запуске из криейтора другая текущая директория
Записан
Svinina
Гость
« Ответ #2 : Апрель 07, 2011, 23:27 »

При запуске из криейтора другая текущая директория
Ну тогда, собственно, мой последний вопрос: можно как-нибудь изменить текущую директорию в криейторе на директорию с получившимся экзешником?
Записан
mutineer
Гость
« Ответ #3 : Апрель 07, 2011, 23:35 »

Нет, но можно сделать так, чтобы экзешник собирался в текущую директорию проекта.
Если не ошибаюсь, то в .pro надо вписать DESTDIR = $$PWD, но точнее завтра скажу
Записан
Fat-Zer
Гость
« Ответ #4 : Апрель 07, 2011, 23:47 »

Ну тогда, собственно, мой последний вопрос: можно как-нибудь изменить текущую директорию в криейторе на директорию с получившимся экзешником?
можно, посмотрите в 'настройко проекта'->'настройки запуска'
Записан
Ubuntu_linux
Гость
« Ответ #5 : Апрель 07, 2011, 23:59 »

Код
C++ (Qt)
QPixmap("./123.png");
  Подмигивающий
Записан
Svinina
Гость
« Ответ #6 : Апрель 08, 2011, 00:05 »

можно, посмотрите в 'настройко проекта'->'настройки запуска'
Спасибо, все исправил.
Оказывается рабочим каталогом был каталог release, а изображение и сам екзешник лежали в корне проекта.
Записан
Fat-Zer
Гость
« Ответ #7 : Апрель 08, 2011, 00:08 »

ещё хорошо будет включить это в ресурсы...
Записан
Svinina
Гость
« Ответ #8 : Апрель 08, 2011, 00:12 »

ещё хорошо будет включить это в ресурсы...
Я до них еще не дочитал. Смеющийся
Только начал изучать библиотеку и ИДЕ. Улыбающийся
Записан
Denjs
Гость
« Ответ #9 : Апрель 08, 2011, 13:28 »

При запуске из криейтора другая текущая директория
Имхо - это смотря что и как и где указано в .pro файле, и как именно проводится сборка.

Если это "теневая сборка"(гадочка в разделе проект в креаторе) - то тогда настройки .pro во многом игнорятся и каталоги вывода свои.
Но имхо, это галочка "для начинающих", которые не хотят разбираться в настройках и не хотят что бы промежуточные файлы сборки мешались с исходниками. Естественно, что настройки для начинающих "создают коллизии", когда вы пытаетесь сделать что-то более сложное чем простое приложение.

Лично я определяю свои каталоги для временных файлов и каталог вывода, чтобы точно знать в каких каталогах у меня будут лежить мои бинарники, и где я должен определять каталоги с ресурсами и всего прочего что нельзя зафиксировать и вложить в бинарник на этапе сборки.

Вот типичный кусок из моего .pro файла.
Код:
TARGET = my_app_name

win32 {
    MOC_DIR += build/win
    OBJECTS_DIR += build/win
    DESTDIR += ./bin/win
else {
    MOC_DIR += build/lin
    OBJECTS_DIR += build/lin
    DESTDIR += ./bin/lin
  }
Естественно, это требует создания в каталоге исходников каталого ./build/lin  ./build/win  ./bin/lin ./bin/win .
И естественно, я снимаю галочку "теневая сборка в креаторе".

но зато я всегда точно знаю куда будет уложен бинарник, где у меня должны лежать каталоги с ресурсами,
что бы относительно пути бинарника (его можно извлечь из QApplication кажется),  я мог успешно их отсыкать.  (именно пути бинарника, а не рабочего каталога)

меня такой подход пока ещё не подводил.

PS: Из минусов описанного выше примера .pro - релиз и дебаг ложатся в один каталог. Мне это не мешает, но по идее - надо исправить. не?
« Последнее редактирование: Апрель 08, 2011, 13:41 от Denjs » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.171 секунд. Запросов: 20.