Ubuntu XFCE 18.04 替代 win32gui?
Posted
技术标签:
【中文标题】Ubuntu XFCE 18.04 替代 win32gui?【英文标题】:Ubuntu XFCE 18.04 alternative to win32gui? 【发布时间】:2020-06-10 22:49:35 【问题描述】:我已经在 windows 环境中使用 win32gui 编写了一些代码,现在我正在尝试将其移植到能够在运行 Ubuntu XFCE 18.04 的机器上运行。本质上,我想通过名称获取特定窗口,使其成为焦点,然后获取它的坐标。有没有这样适用于ubuntu的东西?
hwnd = win32gui.FindWindow(None, window_name)
win32gui.SetForegroundWindow(hwnd)
x, y, x1, y1 = win32gui.GetClientRect(hwnd)
x, y = win32gui.ClientToScreen(hwnd, (x, y))
【问题讨论】:
这取决于正在使用的窗口管理器/gui @planetmaker 使用 XFCE, X11 如果您想从 shell 脚本 执行此操作,您的选择是xdotool
。
【参考方案1】:
您可能正在寻找X11 Window System,它或多或少是基于Linux 的图形操作系统中使用的标准窗口系统。根据 x.org 自己的说法,不建议直接使用 X11 进行开发,而是使用图形工具包,例如 Qt 或 GTK+。但是,如果您希望直接使用 X11 进行编程,您可以使用 Xlib 或 X C 绑定。您可以在 https://www.x.org/wiki/ProgrammingDocumentation/ 找到有关这些库的各种文档。
【讨论】:
是的,Xlib 中可能可以访问 win32gui 级别。不要期望与 win32gui 中相同的完整性和逻辑简洁性(这里没有讽刺意味,只有悲伤)。也有相当不错的 Python 绑定。以上是关于Ubuntu XFCE 18.04 替代 win32gui?的主要内容,如果未能解决你的问题,请参考以下文章