crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Как вывести на форму изображение из интернета?, например в QLabel с какого-нибудь сайта
mezmay
  опции профиля:
сообщение 7.10.2010, 10:17
Сообщение #1


Активный участник
***

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

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




Репутация:   1  


Создаю форму, на ней QLabel. В конструкторе формы приписываю:

ui.label->setText("<img src=\"http://www.rambler.ru/im/81211543ca677b28a1c8f64bb0b5a975/c220x110/img.beta.rian.ru/images/15179/09/151790915.jpg\">");


но картинка не отображается. Если вместо URL http://www.rambler.ru... поставить что-то типа C:\1.jpg то естественно все отображается. Что не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 7.10.2010, 10:28
Сообщение #2


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

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

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




Репутация:   23  


mezmay,
почему ты решил что это должно работать? есть примеры такие подобные?
откуда уверенность что обычный QLabel будет отобажать картинку по http ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mezmay
  опции профиля:
сообщение 7.10.2010, 10:29
Сообщение #3


Активный участник
***

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

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




Репутация:   1  


нет, примеров не видел. А как ее надо загружать в таком случае?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 7.10.2010, 10:31
Сообщение #4


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

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

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




Репутация:   23  


mezmay,
цель какая?
если показать картинку по адресу - то как вариант скачать во временный файл и показать оттуда QLabel`ом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mezmay
  опции профиля:
сообщение 7.10.2010, 10:38
Сообщение #5


Активный участник
***

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

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




Репутация:   1  


Да. Качать я так понимаю надо с помощью QHttp. Сейчас попробую сделать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 7.10.2010, 11:00
Сообщение #6


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

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

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




Репутация:   23  


Цитата(mezmay @ 7.10.2010, 11:38) *
Да. Качать я так понимаю надо с помощью QHttp. Сейчас попробую сделать

погугли лучше на эту тему QHttp устаревает. по ищи по форуму QNetworkAccessManager
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mezmay
  опции профиля:
сообщение 7.10.2010, 13:36
Сообщение #7


Активный участник
***

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

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




Репутация:   1  


Эту конкретную проблему решил. В Жасмине Бланшете написано как загружать файлы из интернета:

bool cwin::getFile( const QUrl &url )
{
    bool result = false;

    if(url.isValid())
    {

        if(url.scheme() == "http")
        {
            if(!url.path().isEmpty())
            {

                QString localFileName = QFileInfo(url.path()).fileName();
                if(localFileName.isEmpty())
                    localFileName = "img.jpg";

                file.setFileName(localFileName);
                if(file.open(QIODevice::WriteOnly))
                {

                    internet.setHost(url.host(), url.port(80));
                    internet.get(url.path(), &file);
                    internet.close();
                    result = true;
                }
            }
        }
    }

    return result;
}

void cwin::onDone()
{

    file.close();

    close();
}


надо только задать url и программа загрузит картинку и сохранит в файл. Но глобальную свою проблему не решил. Тэг <img> обрабытывается в браузерах как-то по-другому. Продолжение здесь:
http://www.forum.crossplatform.ru/index.php?showtopic=5707
начинаю копать в сторону QNetworkAccessManager

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.11.2024, 10:40