如何打开 GTK Inspector?

如何打开 GTK Inspector?

Ctrl我使用的是 GTK.3.15。尝试使用+ Shift+ICtrl+ Shift+打开 GTK Inspector 时D,没有任何反应。无论我使用什么应用程序或小部件。没有任何反应

我的理解是,此选项是 GTK 3.15 的标准配置。有人知道

在 GTK 3.15 中使用此工具吗?

答案1

我从https://wiki.gnome.org/Projects/GTK%2B/Inspector

GtkInspector 是 GTK+ 中内置的交互式调试支持。它是在 GTK+ 3.14 中添加的,基于成熟的 gtkparasite 副本。

默认情况下,调试器处于禁用状态。要启用它,请在终端中运行:

gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true

然后按键盘上的 Control-Shift-I 或 Control-Shift-D 启动它。

如果您不想使用快捷方式,您也可以在运行应用程序时直接使用以下命令临时运行它:

GTK_DEBUG=interactive your-app

进一步观察后我发现错误 #1523929这表明用户可以安装libgtk-3-dev,然后提供架构。请注意,安装libgtk-3-dev可能会带来很多依赖关系。

答案2

方法 1:


启用快捷方式:

  1. 安装dconf-editorsudo apt-get install dconf-editor
  2. 导航至org> gtk> settings>debug
  3. 设置enable-inspector-keybindingtrue
  4. 尝试一下快捷方式。

方法 2:


运行程序,使用GTK_DEBUG变量进行调试:

您不需要像平常一样运行程序进行调试(myprogram --argument),只需以这种方式运行它(GTK_DEBUG=interactive myprogram --argument

您还可以导出该变量export GTK_DEBUG=interactive,然后运行该程序。

答案3

更新:2023-01

Inspector 的 Wiki 页面似乎有点过时,有时错误会干扰已记录的功能。此外,许多此类功能在应用程序中的实现不一致,这显然导致许多人被引导到错误的方向。(包括此答案的先前版本。)

如果您不想使用快捷方式,您也可以在运行应用程序时直接打开检查器:

的处理GTK_DEBUG似乎已经修复,因此GTK_DEBUG=interactive环境中会自动打开检查器。这在过去对我来说不起作用,但在 Fedora 37 中它可以按描述的方式工作。

要启动 GTK 检查器,请聚焦 GTK 应用程序并按Control-Shift-D。或者,将鼠标光标移到所需的小部件上,然后按Control-Shift-I以专门检查鼠标光标下的部件。

事实证明这些说法是正确的有点,但它们应该伴随一系列的警告。

  • Ctrl+ Shift+D 可能会有用如果应用程序没有将其绑定到其他东西

  • 同样地,Ctrl++ShiftI 可能会有用,在相同条件下。

    虽然从技术上讲,它是一个上下文相关的快捷方式,可以检查“鼠标光标下的小部件”,但许多应用程序会将其整个界面绘制在一个大窗口内,GtkDrawingArea因此,如果这是在大多数鼠标位置弹出的小部件,请不要感到惊讶。(无论如何,您将无法检查该区域内的任何内容,因为内容不是 Gtk 小部件。)

  • 如果应用程序绑定一个或两个快捷方式,其本地绑定将会覆盖,你对此无能为力。

    • 特别是 Nautilus,对Ctrl+ Shift+具有不同的绑定I(它是“反向选择”),因此该快捷方式永远无法在 Nautilus 中打开检查器,您只能使用Ctrl+ Shift+ D

    • Gnome 终端实际上​​绑定两个都 Ctrl+ Shift+DCtrl+ Shift+ I,所以这两种快捷方式都不起作用……这就是为什么他们提供了一个方便的帮助 > 检查器应用程序菜单栏中的选项(如果您激活了该选项)。

  • 最后但并非最不重要的,Gtk 的处理存在错误++可能会阻止它Ctrl在您每次尝试使用它时工作。(Shift++似乎没有受到影响。)DCtrlShiftI

要获得检查员的帮助,您需要满足以下列表中的要求:

  1. 安装适当的gtk3-devel/libgtk-3-devgtk4-devel/libgtk-4-dev包。非可选。

  2. 如果使用 Gtk3,请启用 dconf 键/org/gtk/settings/debug/enable-inspector-keybinding/ GSettings 键org.gtk.Settings.Debug enable-inspector-keybinding。(它们是相同的设置。)您也可以选择禁用org.gtk.Settings.Debug inspector-warning

    Gtk4 有自己的enable-inspector-keybindingorg.gtk.gtk4.settings.debug,但是它现在是默认值True,所以您可能已经习惯了。不过,org.gtk.gtk4.settings.debug.inspector-warning它仍然默认为True,因此您可能需要将其关闭。

  3. 任何一个

    • GTK_DEBUG=interactive在环境中运行一个程序。
    • 当应用程序打开并聚焦时,输入Ctrl+ Shift+DCtrl+ Shift+I并希望其中一个能起作用。或者寻找菜单选项来执行相同的操作。

相关内容