0

我正在使用 C 直接使用 X11、Xt 和 Motif 编写应用程序。我希望能够列出父窗口中的所有子窗口小部件。有没有办法做到这一点?

我在这里找到了以下代码片段来递归解析 Motif 小部件树,但我只有一个 Xlib Window 结构,所以我希望能够获取该窗口的子小部件,然后将该小部件传递给类似于该递归树解析器的东西。

我当前的代码如下所示:

int main() {
    Display* display;
    int screen_num = 0;
    display = XOpenDisplay(NULL);
    Window window = XRootWindow(display, screen_num);
    dumpWidgetTree((Widget)window);
    return 0;
}

我尝试简单地将 Window 转换为 Widget,但这正如预期的那样导致了段错误。

4

1 回答 1

0

您可以从窗口树中获取大部分小部件。您可以使用“XtWindowToWidget”将 windowID 转换为小部件。这种方法适用于当前应用程序中的小部件,并且无法访问无窗口小部件(又名小工具)。

于 2019-11-03T13:25:34.703 回答