Я хочу сделать скриншот всего рабочего пространства (у нас есть несколько мониторов здесь).В настоящее время у меня есть рабочая версия для GDI, но теперь я застрял с портированием своего программного обеспечения на Linux.
QDesktopWidget* win = qApp->desktop();
auto id = win->winId(); // CRASH HAPPENS HERE, win == nullptr
QImage pixmap = QPixmap::grabWindow(id).toImage(); //won't come here ever.
Не знаю, если это поможет понять проблему, но это то, с чем я работаю:
- VirtualBox VM с 2 мониторами 1920x1080
- Debian 4.17.8-1 (2018-07-20)
- x86_64 GNU / Linux
- LightDM + XFCE4.
- версия xserver-xorg (в соответствии с dpkg -s): 1: 7.7 + 19
Да, я знаю, здесь иногда появляется тема создания снимка экрана под Linux.время (Xlib и прочее), но этот вопрос строго о том, как это делает Qt, и почему он работает в Windows (хотя и медленно), но не в Linux.