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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как работать с буфером...  (Прочитано 4337 раз)
Raast
Гость
« : Май 25, 2009, 00:35 »

Есть небольшая проблемка:

1.Как tcp/ip серверу хранить переданный файл (пусть *.jpg) от клиентского приложения в буфере (QBuffer или др.) , не сохраняя его на диске?
2. и потом в любое время Отображать этот файл из этого буфера в QWidget,QFrame???

Не могу нигде найти хотя xample(((

Подскажите, кто может!
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Май 25, 2009, 09:04 »

1) у вас картинка в массиве? тогда смотрим QBuffer::setData ( const char * data, int size )
2) кидаем на форму QLabel и далее типа так

Код
C++ (Qt)
 
    QLabel topLevelLabel;
    QImage img;
    img.loadFromData(data, size, "JPG");
    QPixmap pixmap(img);
    topLevelLabel.setPixmap(QPixmap::fromImage(img));
 
Записан
Raast
Гость
« Ответ #2 : Май 25, 2009, 21:32 »

Спасибо, попробую...
Записан
Raast
Гость
« Ответ #3 : Май 31, 2009, 21:33 »

Мне из сокета можно взять информацию по разному из QDatastream(по блокам но в принципе не важно), то есть мои действия:
1. Создаю QByteArray data;
2. Устанивливаю QBuffer::setbuffer() к массиву data;
3. Из QDatastream в массив data;
4. Ваши шаги ,

     QLabel topLevelLabel;
     QImage img;
     img.loadFromData(data, size, "JPG");
     QPixmap pixmap(img);
     topLevelLabel.setPixmap(QPixmap::fromImage(img));
 только  конструткор ругаеться по поводу QPixmap XXX(QImage);

Поправьте меня правильно, пожалуйста, или я просто не понимаю!!!ПО КНИГАМ QBuffer открывает, чтение/запись, закрывает массив??Я впервые сталкиваюсь с работой буфера
Записан
Raast
Гость
« Ответ #4 : Май 31, 2009, 23:04 »

Пожалуйста помогите, хранить файл в буфере
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #5 : Май 31, 2009, 23:30 »

Замените

Код
C++ (Qt)
QPixmap pixmap(img);

на

Код
C++ (Qt)
QPixmap pixmap = QPixmap::fromImage(img)

Должно помочь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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