Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Сергей85 от Май 03, 2017, 20:21



Название: Как сохранить скриншот формы в GIF-файл?
Отправлено: Сергей85 от Май 03, 2017, 20:21
А еще проблема: как с QFile сделать замену строки в текстовом файле? ReadLine есть, в WriteLine нет. Ладно, собрал нужные данные в QStringList - другая непонятка: как очистить открытый файл и добавить данные из этого массива.


Название: Re: Как сохранить скриншот формы в GIF-файл?
Отправлено: Пантер от Май 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();
 


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


Название: Re: Как сохранить скриншот формы в GIF-файл?
Отправлено: Сергей85 от Май 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 или записать в файл. Думал, в справке с потоками пример возьму - а он не работает.


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

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


Название: Re: Как сохранить скриншот формы в GIF-файл?
Отправлено: Пантер от Май 19, 2017, 08:25
> А как Qстринглист или Qстринг записать?
Код
C++ (Qt)
QStringList list;
const QString str = list.join('\n');
 


Название: Re: Как сохранить скриншот формы в GIF-файл?
Отправлено: Сергей85 от Май 19, 2017, 18:55
> А как Qстринглист или Qстринг записать?
Код
C++ (Qt)
QStringList list;
const QString str = list.join('\n');
 

При чем тут это? Я о том говорю, что Qстринглист или Qстринг невозможно записать методами .write и .writeData.