
Как сделать скриншот экрана QML приложения, запущенного в полноэкранном режиме, при помощи клавиши PrintScreen
Добрый день!
Столкнулся с возможно уже тривиальной проблемой, но на других форумах так и не нашел ответа. К примеру, здесь подобная проблема осталась не отвеченной:
подобная проблема на другом форуме
Кому лень переходить дублирую здесь:
ОС Windows 10 (64-bit), версия Qt 12.8
Приложение работает в полноэкранном режиме (visibility: FullScreen)
Попытка создать скриншот экрана стандартной клавишей Print Screen. Итог - снимки отображают лишь скрин экрана во время запуска приложения, т.е. какие либо действия внутри приложения не делалаешь - скринится только экран на момент запуска. При записи видео с экрана та же история. Однако все меняется когда я меняю параметр visibility с "FullScreen" на любой другой, не полно-экранный (например "Windowed").
Кто подскажет в чем может быть загвоздка? Уже думаю сделать свой PrintScreen, однако подозреваю, что выйдет тоже самое....

Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Unknown akadamn
- 24 января 2025 г. 17:14
Qt - Тест 001. Сигналы и слоты
- Результат:84баллов,
- Очки рейтинга4
- Unknown akadamn
- 24 января 2025 г. 16:22
Qt - Тест 001. Сигналы и слоты
- Результат:42баллов,
- Очки рейтинга-8


Добрый день.
QML Работает с OpenGL, возможно, что в полноэкранном режиме полностью забирает всё изображение на себе.
Возможно, вам поможет, если сделаете внутренний PrinScreen, который будет забирать изображение всего окна через метод grabToImage
Спасибо за ответ. В принципе я это подозревал. Попробую по вашему совету, отпишусь о результате))
grabToImage как оказалось пригоден если хотите сделать скриншот какого-либо Item. В этом случае тогда все просто, типа аля
но чтобы сделать скриншот всего окна помогли эти посты
пост 1
пост 2
там ругялся компилятор на некоторые вещи, пару шаманств и вот итоговый результат:
файл screencapture.h
файл screencapture.cpp
файл main.cpp
файл qml
в общем вдруг кому поможет