crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Проблемы с путями
slav
  опции профиля:
сообщение 15.11.2011, 20:42
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 22.12.2010
Пользователь №: 2292

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




Репутация:   0  


Здравствуйте

Столкнулся вот с такой проблемой:
Написал программку, она скачивает с интернета картинки, а потом выводит их как иконки в QTreeWidget.
Проблема в том что на моем компьютере (т.е. есть Qt) всё работает отлично. А на других, где нет Qt, есть проблемы.

Картинки скачиваются и сохраняются в папку img/
Но потом не выводятся в QTreeWidget

               
                QTreeWidgetItem *setStatus = new QTreeWidgetItem();
                setStatus->setIcon(0,QIcon("/img/"+icon.last()));   // в icon.last() название файла
                this->ui->treeWidget->topLevelItem(0)->addChild(setStatus);


Думал, что проблема в путях, поэтому делал еще так
               
                QTreeWidgetItem *setStatus = new QTreeWidgetItem();
                setStatus->setIcon(0,QIcon(this->appPath + "/img/"+icon.last()));
                this->ui->treeWidget->topLevelItem(0)->addChild(setStatus);


В this->appPath - путь к исполняемому файлу, полученный с помощью a.applicationDirPath()

Но эффекта 0.
Подскажите пожалуйста что не так
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 15.11.2011, 21:15
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


что пишет:
qDebug()<<this->appPath + "/img/"+icon.last();
перед:
QTreeWidgetItem *setStatus = new QTreeWidgetItem();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
slav
  опции профиля:
сообщение 15.11.2011, 21:27
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 22.12.2010
Пользователь №: 2292

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




Репутация:   0  


qDebug() выводит такой путь

C:/release/img/12804.jpg

ехе лежит в папке C:/release
Картинка в C:/release/img/

Т.е. путь правельный


попробывал еще сделать так

                
                QString path = this->appPath + "/cache/"+icon.last();
                path.replace("/","\\");
                setStatus->setIcon(0,QIcon(path));


Путь преобразовался в C:\release\img\12804.jpg
Но ничего не изменилось
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 15.11.2011, 21:31
Сообщение #4


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Потому что не хватает плагинов для чтения графических файлов. Поищи по форуму на тему imageformats или почитай про плагины в документации.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
slav
  опции профиля:
сообщение 15.11.2011, 21:56
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 22.12.2010
Пользователь №: 2292

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




Репутация:   0  




положил папку imageformats с плагинами в директорию с проектом и всё заработало! Спасибо!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 1.12.2020, 1:38