Russian Qt Forum

Qt => Мультимедиа => Тема начата: Firefox от Декабрь 24, 2009, 14:58



Название: скриншот
Отправлено: Firefox от Декабрь 24, 2009, 14:58
Здравствуйте. подскажите как программно сделать скриншот экрана коротким способом. я думаю можно через QProcess, но не знаю что записать в аргумент. какой командой в винде это делается. если б была такая, (например типа как shurtdown для перезагрузки) было бы очень удобно.


Название: Re: скриншот
Отправлено: pastor от Декабрь 24, 2009, 15:23
Пробуем через QDesktopWidget + QPixmap::grabWidget(....)


Название: Re: скриншот
Отправлено: Firefox от Декабрь 24, 2009, 15:37
нашла функции keybd_event(VK_SNAPSHORT,1,0,0) но пока не пробовала использовать.


Название: Re: скриншот
Отправлено: pastor от Декабрь 24, 2009, 15:49
examples/desktop/screenshot


Название: Re: скриншот
Отправлено: Firefox от Декабрь 24, 2009, 16:54
посмотрела и написала вот такую фуекцию
Код:
void cviaz_v::print_screen()
{
originalPixmap=QPixmap::grabWidget(QApplication::desktop()/*->winId()*/);
QString format ="jpeg";
QString initialPath =QDir::currentPath()+tr("/untitled.")+format;
QString fileName=QFileDialog::getSaveFileName(this,tr("Save As"),
initialPath,tr("%1 Files(*.%2);;All Files(*)").arg(format.toUpper()).arg(format));
if(!fileName.isEmpty())
originalPixmap.save(fileName,format.toAscii());

}
но принскрин не делает, сохраняет просто картинку с розоватым фоном. если раскомментировать /*->winId()*/ то выдает такую ошибку, как исправить не знаю:

error C2665: 'QPixmap::grabWidget' : none of the 2 overloads can convert parameter 1 from type 'WId'


Название: Re: скриншот
Отправлено: pastor от Декабрь 24, 2009, 17:06
но принскрин не делает, сохраняет просто картинку с розоватым фоном. если раскомментировать /*->winId()*/ то выдает такую ошибку, как исправить не знаю:

error C2665: 'QPixmap::grabWidget' : none of the 2 overloads can convert parameter 1 from type 'WId'


Внимательней нужно смотреть примеры. Не grabWidget, а grabWindow


Название: Re: скриншот
Отправлено: Firefox от Декабрь 25, 2009, 08:57
 ;D я лопух))