crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Помогите новичку.
xleksx
  опции профиля:
сообщение 24.9.2010, 21:14
Сообщение #1


Новичок


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

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




Репутация:   0  


Всем привет, только начал Qt учить, заранее извиняюсь за глупый вопрос...
Проблема такая:
Пишу прогу, которая подгружает картинку и показывает её с помощью QLabel, ну или просто заливаю виджет картинкой...
Помещаю картинку в папку теневой сборки (desktop) компилю и запуская из под Qt Creator'а всё нормально, картинку видно.
Но вот когда запускаю exe'шник (Релиз) картинки как-будто нету (картунку ложу рядом с exe'шником)... Если писать полный путь ("C://...") то всё нормально... в С++ вроде просто помещаешь картинку рядом с exe'шником и всё нормально, а тут не получается, помогите кто может =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 24.9.2010, 21:37
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


на первый взгляд, ты не задал путь относительно расположения экзешника. А у дебажного и релизного экзешников расположение в общем случае разное - в общем, нужно приглядеться помнимательнее и всё . Для удобства работы можно задать разные пути для дебага и релиза

например,
#ifdef QT_NO_DEBUG
  //релиз
#define def_path__ "./"            "file.png"
#else
  //дебаг
#define def_path__ "../res/"            "file.png"
#endif


для релиза будет искаться рядом с экзешником
для дебага - шаг на директорию вверх, а там в папке res
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
xleksx
  опции профиля:
сообщение 25.9.2010, 12:13
Сообщение #3


Новичок


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

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




Репутация:   0  


Спасибо за совет, но..
1. не помогло
2. ты не совсем понял проблему =)
Я думаю тут проблема развёртывания приложения, т.к. тот же код в Ubuntu компилится и всё отлично работает... А в винде не очень всё понятно =(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.9.2010, 12:15
Сообщение #4


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

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

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




Репутация:   94  


Цитата(xleksx @ 25.9.2010, 1:14) *
в С++ вроде просто помещаешь картинку рядом с exe'шником и всё нормально,
С++ - язык программирования, он вообще картинки не загружает.

Покажи как ты загружаешь картинку
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
xleksx
  опции профиля:
сообщение 25.9.2010, 12:29
Сообщение #5


Новичок


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

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




Репутация:   0  


#include <QtGui>

// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget      wgt;

    QWidget* pwgt1 = new QWidget(&wgt);
    QPalette pal1;
    pal1.setColor(pwgt1->backgroundRole(), Qt::blue);
    pwgt1->setPalette(pal1);
    pwgt1->resize(100, 100);
    pwgt1->move(25, 25);
    pwgt1->setAutoFillBackground(true);

    QWidget* pwgt2 = new QWidget(&wgt);
    QPalette pal2;
    pal2.setBrush(pwgt2->backgroundRole(), QBrush(QPixmap("D://stone.jpg")));
    pwgt2->setPalette(pal2);
    pwgt2->resize(100, 100);
    pwgt2->move(75, 75);
    pwgt2->setAutoFillBackground(true);

    wgt.resize(200, 200);
    wgt.show();

    return app.exec();
}

И кстати даже при задании полного пути к файлу прога "видит" файл только когда запускается из под Qt Creator (релиз/отладка), а когда запуская экзешник - ничего нету...

и ещё даже когда использую .qrc то при запуске exe'шника картинки всё равно нету...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 25.9.2010, 13:23
Сообщение #6


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(xleksx @ 25.9.2010, 13:29) *
И кстати даже при задании полного пути к файлу прога "видит" файл только когда запускается из под Qt Creator (релиз/отладка), а когда запуская экзешник - ничего нету...

это скорее всего кодеки картинок не видит твоя прога если запускаешь не в Creatore.
здесь на вики есть информация как исправить положение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
xleksx
  опции профиля:
сообщение 25.9.2010, 13:45
Сообщение #7


Новичок


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

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




Репутация:   0  


Цитата(kwisp @ 25.9.2010, 17:23) *
это скорее всего кодеки картинок не видит твоя прога если запускаешь не в Creatore.
здесь на вики есть информация как исправить положение.

Скажи хоть где примерно искать =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.9.2010, 15:08
Сообщение #8


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

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

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




Репутация:   94  


дык у тебя jpeg, отсюда и проблемы. png должно читать всяко.

Смотри в нашей вики Qt -> FAQ -> о развёртывании приложений, хотя это всё из асистента.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
xleksx
  опции профиля:
сообщение 25.9.2010, 15:32
Сообщение #9


Новичок


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

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




Репутация:   0  


хех, и правда поставил .png и всё норм стало, но всё равно интересно что делать чтобы и JPG и др. типы работали =)

СПС! =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.9.2010, 17:26
Сообщение #10


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

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

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




Репутация:   94  


Цитата(xleksx @ 25.9.2010, 19:32) *
но всё равно интересно что делать чтобы и JPG и др. типы работали =)
я тебе дал ссылку на нашу вики, и написал, что там нужно прочитать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 21.12.2024, 4:43