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?的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 18.04 安装 Xfce桌面和VNC的方法

为ubuntu 18.04的VNC运行轻量级桌面xfce

win10安装ubuntu子系统界面

win10安装ubuntu子系统界面

Ubuntu18.04 LTS 远程连接

Windows上安装Ubuntu18.04LTS来替代虚拟机并安装docker