是否可以通过X11 / Xt从父窗口返回所有小部件?

问题描述 投票:0回答:1

我正在直接使用C使用X11,Xt和Motif编写应用程序。我希望能够从父窗口列出所有子窗口小部件。有办法吗?

我发现以下代码片段以递归方式解析Motif小部件树here,但是我只有一个Xlib Window结构,所以我希望能够获得该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,但正如预期的那样,这导致了段错误。

x11 xlib motif
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.