Это функция, которая принимает идентификатор родительского окна приложения Qt в качестве параметра
void getImage(Window win){
d=XOpenDisplay(NULL);
s=DefaultScreen(d);
w=XCreateSimpleWindow(d, RootWindow(d, s), 1000, 1000, 100, 100, 14,BlackPixel(d,s),WhitePixel(d, s));
XMapWindow(d, w);
XReparentWindow(display, w,win, 50, 50);
XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 60, 60);
}
Это приложение Qt, которое вызывает функцию getImage (Window win).
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
getImage(w.winId());
return a.exec();
}
Я пытаюсь получить изображение из приложения x11 и отобразить его в окне Qt, но программа падает на XFillRectangle()
и работает нормально, когда я закомментирую функцию getImage(Window win)
в приложении Qt. По сути, я хочу сделать аннотацию изображения в окне Qt, но фрейм наложения аннотации должен исходить из этого запущенного приложения x11.