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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: скриншот  (Прочитано 5243 раз)
Firefox
Гость
« : Декабрь 24, 2009, 14:58 »

Здравствуйте. подскажите как программно сделать скриншот экрана коротким способом. я думаю можно через QProcess, но не знаю что записать в аргумент. какой командой в винде это делается. если б была такая, (например типа как shurtdown для перезагрузки) было бы очень удобно.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Декабрь 24, 2009, 15:23 »

Пробуем через QDesktopWidget + QPixmap::grabWidget(....)
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Firefox
Гость
« Ответ #2 : Декабрь 24, 2009, 15:37 »

нашла функции keybd_event(VK_SNAPSHORT,1,0,0) но пока не пробовала использовать.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Декабрь 24, 2009, 15:49 »

examples/desktop/screenshot
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Firefox
Гость
« Ответ #4 : Декабрь 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'
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Декабрь 24, 2009, 17:06 »

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

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


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

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Firefox
Гость
« Ответ #6 : Декабрь 25, 2009, 08:57 »

 Смеющийся я лопух))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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