Russian Qt Forum

Qt => Общие вопросы => Тема начата: enola от Сентябрь 13, 2006, 14:32



Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 13, 2006, 14:32
Загружаю картинку под виндой:
Код:
QPixmap logoPixmap("images/main/logo.png");

все нормально, собираю под nix картинка не отображается, в чем может быть дело?


Название: Загрузка QPixmap под nix
Отправлено: Grigory от Сентябрь 13, 2006, 14:53
дело скорее всего в путях, вряд ли картинка у тебя битая :)


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 13, 2006, 15:03
ну картинка точно не битая, может в nix слэши обратные?


Название: Загрузка QPixmap под nix
Отправлено: Admin от Сентябрь 13, 2006, 15:50
а почему в ресурсы не добаляешь?
это же надежнее


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 13, 2006, 15:54
у меня картинки и в ресурсах и подгружаемые, такое требование тз.


Название: Загрузка QPixmap под nix
Отправлено: SLK от Сентябрь 13, 2006, 16:05
а если так
Код:
QPixmap logoPixmap("./images/main/logo.png");


Название: Загрузка QPixmap под nix
Отправлено: alexis от Сентябрь 13, 2006, 19:12
Уж лучше:
Код:

QPixmap logoPixmap( QCoreApplication::applictionDirPath() + "./images/main/logo.png" );

и картинки положить в диру с апликухой.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 07:43
Ни один из предложенных вариантов не работает, работает только вот так:
Код:
QPixmap topPixmap("/mnt/hgfs/Exchange/ima_test/main.png");

т.е. указание полного пути, что конечно же не приемлемо.
Даже вот так не работает:
Код:
QPixmap topPixmap("main.png");

Что делать?


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 08:43
Есть метод действенный, но не очень красивый - кинуть символическую ссылку на каталог.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 08:51
я понять не могу почему вот так не работает:
Код:

QPixmap topPixmap("main.png");


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 09:04
Это будет работать только в том случае, если png лежит в рабочей директории приложения.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 11:09
:) это понятно, но у меня не работает, в винде работает, а вот в юниксе нет!


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 11:17
Возможно, стоит разделять понятия "root directory", "home directory" и "work directory"


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 11:36
в смысле?


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 12:02
У тебя где под виндой/unix лежит main.png/application?


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 12:14
там же где исполняемый файл.


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 12:50
Исполняемый файл запускается непосредственно пользователем или кем-то/чем-то другим?


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 12:59
Я простое приложение сделал и пытаюсь загрузить картинку:
Код:

QPixmap topPixmap("main.png");
QLabel *topLabel = new QLabel(this);
topLabel->setPixmap(topPixmap);

исполняемый файл я запускаю сам двойным щелчком мыши по его иконке в Red Hat ... :)


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 13:03
У тебя вызывается следующий конструктор:
QPixmap ( const char * const[] xpm )
попробуй:
Код:
QPixmap topPixmap( QString( "main.png" ) );
QLabel * topLabel = new QLabel( this );
topLabel->setPixmap( topPixmap );


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 13:10
что-то не выходит :(


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 13:13
Попробуй вызвать для него load().
А еще, попробуй его просто QFile'ом зацепить.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 13:47
хрень какая-то  :twisted:
не работает и все тут, под виндой все варианты работают а под никс не один, а чуть не забыл один работает с полным указанием пути, гадость...


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 14:30
Создай объект QFileInfo, посмотри, какой абсолютный путь [QString absoluteFilePath () const] он тебе выдаст и делай выводы.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 14:47
хм, пишет /root/main.png ???


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 14:58
Наконец-то ты дошел до этого. Теперь думай, почему у тебя такой "work directory"


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 15:02
:) точно дошел.
Только я в nix вообще никак.
Почему у меня такой директори возвращает, хотя файл лежит рядом с приложением я не знаю!

P.S. коллега на буржуйском (qtforum.org) тот же вопрос задал  :D


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 15:14
Такое впечатление, будто ты запускаешь его символической ссылкой прямо из корня.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 15:27
Да вот я вообще ничего не понимаю.


Название: Загрузка QPixmap под nix
Отправлено: bigirbis от Сентябрь 14, 2006, 15:42
ИМХО, такие разговоры надо на уровень аси, джаббера и ЛС переводить.


Название: Загрузка QPixmap под nix
Отправлено: enola от Сентябрь 14, 2006, 15:51
Вот как я это делаю:
1. скидываю все файлы проги в папку: /mnt/hgfs/Exchange/test/
2. потом делаю: qmake test.pro
3. make
4. запускаю test
и все :(