Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt:枚举桌面上的窗口_Qt - Fatal编程技术网

Qt:枚举桌面上的窗口

Qt:枚举桌面上的窗口,qt,Qt,我的Qt应用程序(将在Windows、OS X和Ubuntu上运行)需要: 列出所有的窗口 获取他们的标题文本(如果有) 获取应用程序图标(如有),如QIcon或QPixmap(如应用程序图标) 获取有关它们的某种唯一ID(例如windows上的HWND) 我知道如何使用Win32在Windows上执行此操作。我可以分别研究Mac和Ubuntu,但我想知道是否有一种抽象/统一的Qt方法可以帮助我?没有,这些都是特定于操作系统的: 关于开始寻求通过已发布的API实现的功能,这里有一些X11提示:

我的Qt应用程序(将在Windows、OS X和Ubuntu上运行)需要:

  • 列出所有的窗口
  • 获取他们的标题文本(如果有)
  • 获取应用程序图标(如有),如QIcon或QPixmap(如应用程序图标)
  • 获取有关它们的某种唯一ID(例如windows上的HWND)

  • 我知道如何使用Win32在Windows上执行此操作。我可以分别研究Mac和Ubuntu,但我想知道是否有一种抽象/统一的Qt方法可以帮助我?

    没有,这些都是特定于操作系统的:

    关于开始寻求通过已发布的API实现的功能,这里有一些X11提示:

    在Mac上,构建Qt的“前瞻性”方法是反对“可可”而不是“碳”:

    根据其他SOER的说法,是可访问性API(似乎必须由用户启用)可以进行此枚举:

    然后,问题变成了C++应用程序内部如何对COA API进行“调用”,它是局部Objul-C:< /P>


    …或者你不能这么做。:-)

    我建议您自己跟踪这些信息。它不是完美的(只是有一个singleton类并在根窗口类型中重载
    setWindowTitle()
    调用),而是独立于平台的