是否有适用于Linux / X / GTK / QT的WinSpy ++之类的工具?


8

当我使用Windows时,我有时会充分利用WinSpy ++,该WinSpy ++允许指向窗口或控件(小部件,窗口元素)以查看有关它的详细信息(包括结构/类的字段的值)描述此特定实例),向其发送窗口管理器消息等。我一直使用它的常见琐碎任务之一是从不可选择的小部件(例如标签,该标签不允许从中选择和复制文本)中复制文本。它是文本字段的方式)。我可以在GNU / Linux GUI应用程序中使用类似的工具吗?

Answers:


7

您不能在这里期望1:1映射。我不知道WinSpy ++,但它的功能可能分布在多个不同的工具上,其某些功能在X之下根本就没有意义,相反,X的工具还有一些其他功能却在X之下毫无意义。视窗。

基本的X11发行版附带许多简单的工具。与这里最相关的是:

  • xclients 列出与显示器连接的程序
  • xprop 显示窗口属性
  • xwininfo 显示有关窗口的技术信息(位置,视觉效果等)

还有一些工具可以操纵X资源appreseditres(对于实施该资源的少数应用程序)listres、、xrdb

wmctrl(从命令行执行窗口管理器操作)和xdotool(将事件发送到窗口)通常可用于获取信息并在窗口上起作用的两个第三方实用程序。


6

窗口管理器和X服务器都不知道窗口小部件/控件,因此没有标准的方法可以让工具查询系统以获取其他应用程序窗口小部件的详细信息。应用程序主要向X服务器发送诸如pixmap,多边形绘制操作和文本绘制操作之类的东西。

但是,有些工具可以附加到流程并检查其窗口小部件工具箱的数据结构。对于使用GTK +的应用程序,有Parasite。从3.14版开始,GTK +现在包含了Parasite的一个分支。

对于Qt,通过KSpy(隐藏在KDE存储库中的工具)的启发,可以快速搜索Qt Inspector

如果您需要找出应用程序使用的窗口小部件工具箱,则可以使用命令行工具列出其依赖的库ldd


3

基本上不是。

要获取有关窗口的信息,您可以使用

xwininfo

命令。但是,毫不奇怪,因为X11与Windows不同,所以它不会打印相同的信息。我不知道有什么方法可以从不可选择的控件中复制文本,尽管这些方法可能不如Windows常见。

至于发送窗口管理器消息,我不确定。您也许可以使用基于XRECORD扩展名的工具,例如Xnee。但是,我从未尝试过。


对于从非可选控件/窗口复制文本,我想它应该是(程序/工具包)可访问性的一部分。(但afaik,这方面的标准还远远没有成熟。)
yuyichao 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.