Russian Qt Forum
Декабрь 18, 2017, 02:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сохранить скриншот формы в GIF-файл?  (Прочитано 734 раз)
Сергей85
Новичок

Offline Offline

Сообщений: 44


Просмотр профиля
« : Май 03, 2017, 20:21 »

А еще проблема: как с QFile сделать замену строки в текстовом файле? ReadLine есть, в WriteLine нет. Ладно, собрал нужные данные в QStringList - другая непонятка: как очистить открытый файл и добавить данные из этого массива.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5634


Жаждущий знаний


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

Код
C++ (Qt)
QFile in ("/path/to/file");
in.open(QIODevice::ReadOnly());
QByteArray fileData = in.read();
in.close();
//replace
QFile out ("/path/to/file");
out.open(QIODevice::WriteOnly);
out.write(fileDate);
out.close();
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
-------------------------------
https://twitter.com/panter_dsd
https://facebook.com/panter.dsd
mitrich
Чайник
*
Offline Offline

Сообщений: 86



Просмотр профиля
« Ответ #2 : Май 04, 2017, 16:30 »

Как сохранить скриншот формы в GIF-файл?
Сохранение в GIF не поддерживается, пиши в PNG.
Код
C++ (Qt)
   QImage img(size(), QImage::Format_ARGB32_Premultiplied);
   render(&img);
   img.save("image.png");
 
« Последнее редактирование: Май 04, 2017, 16:31 от mitrich » Записан
Сергей85
Новичок

Offline Offline

Сообщений: 44


Просмотр профиля
« Ответ #3 : Май 18, 2017, 20:37 »

Код
C++ (Qt)
QFile in ("/path/to/file");
in.open(QIODevice::ReadOnly());
QByteArray fileData = in.read();
in.close();
//replace
QFile out ("/path/to/file");
out.open(QIODevice::WriteOnly);
out.write(fileDate);
out.close();
 

А как Qстринглист или Qстринг записать? Это критично: не пойму, как перетипировать в QByteArray или записать в файл. Думал, в справке с потоками пример возьму - а он не работает.
Записан
Сергей85
Новичок

Offline Offline

Сообщений: 44


Просмотр профиля
« Ответ #4 : Май 18, 2017, 20:39 »

Как сохранить скриншот формы в GIF-файл?
Сохранение в GIF не поддерживается, пиши в PNG.
Код
C++ (Qt)
   QImage img(size(), QImage::Format_ARGB32_Premultiplied);
   render(&img);
   img.save("image.png");
 

Это работает. Однако вопрос: как в функцию передать объект формы? Хочу сохранять скрины фрейма или какого-либо другого элемента. И сразу 2 проблемы: не могу нормально входной параметр-объект записать в функции, а также выйти на его свойство "Size".
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5634


Жаждущий знаний


Просмотр профиля
« Ответ #5 : Май 19, 2017, 08:25 »

> А как Qстринглист или Qстринг записать?
Код
C++ (Qt)
QStringList list;
const QString str = list.join('\n');
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
-------------------------------
https://twitter.com/panter_dsd
https://facebook.com/panter.dsd
Сергей85
Новичок

Offline Offline

Сообщений: 44


Просмотр профиля
« Ответ #6 : Май 19, 2017, 18:55 »

> А как Qстринглист или Qстринг записать?
Код
C++ (Qt)
QStringList list;
const QString str = list.join('\n');
 

При чем тут это? Я о том говорю, что Qстринглист или Qстринг невозможно записать методами .write и .writeData.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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