Ich verwende GTK.3.15. Beim Versuch, GTK Inspector mit Ctrl+ Shift+ Ioder Ctrl+ Shift+ zu öffnen D, passiert nichts. Es spielt keine Rolle, welche Anwendung oder welches Widget ich verwende. Es passiert nichts.
und meines Wissens ist diese Option standardmäßig in GTK 3.15 enthalten. Weiß jemand wie
um dieses Tool in GTK 3.15 zu verwenden?
Antwort1
Ich habe das vonhttps://wiki.gnome.org/Projects/GTK%2B/Inspector:
GtkInspector ist die integrierte interaktive Debugging-Unterstützung in GTK+. Sie wurde in GTK+ 3.14 hinzugefügt und basiert auf einer Kopie des bewährten gtkparasite.
Der Debugger ist standardmäßig deaktiviert. Um ihn zu aktivieren, führen Sie Folgendes in einem Terminal aus:
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true
Und starten Sie es, indem Sie auf der Tastatur Strg-Umschalt-I oder Strg-Umschalt-D drücken.
Wenn Sie die Tastenkombinationen nicht verwenden möchten, können Sie es auch vorübergehend direkt beim Ausführen Ihrer App ausführen mit:
GTK_DEBUG=interactive your-app
Bei genauerer Betrachtung fand ichFehler #1523929Dies bedeutet, dass Benutzer es installieren können libgtk-3-dev
, wodurch das Schema bereitgestellt wird. Beachten Sie, dass die Installation libgtk-3-dev
viele Abhängigkeiten mit sich bringen kann.
Antwort2
Methode 1:
Aktivieren Sie die Verknüpfung:
- Installieren
dconf-editor
mitsudo apt-get install dconf-editor
- Navigieren Sie zu
org
>gtk
>settings
>debug
- Einstellen
enable-inspector-keybinding
true
- Versuchen Sie die Abkürzung.
Methode 2:
Führen Sie das Programm zum Debuggen mit der GTK_DEBUG
Variablen aus:
Anstatt das Programm zum Debuggen wie üblich auszuführen ( myprogram --argument
), müssen Sie es nur auf diese Weise ausführen ( GTK_DEBUG=interactive myprogram --argument
)
Sie können diese Variable auch exportieren export GTK_DEBUG=interactive
und dann das Programm ausführen.
Antwort3
Aktualisiert:2023-01
Die Wiki-Seite für den Inspector scheint etwas veraltet zu sein, und manchmal beeinträchtigen Fehler die dokumentierte Funktionalität. Darüber hinaus sind viele dieser Funktionen in Anwendungen inkonsistent implementiert, was eindeutig dazu geführt hat, dass viele Leute in viele falsche Richtungen gelenkt wurden. (Einschließlich früherer Versionen dieser Antwort.)
Wenn Sie die Tastenkombinationen nicht verwenden möchten, können Sie den Inspector auch direkt beim Ausführen Ihrer App öffnen:
Die Handhabung GTK_DEBUG
scheint behoben worden zu sein, sodass GTK_DEBUG=interactive
in der Umgebung der Inspektor automatisch geöffnet wird. Das hat bei mir früher nicht funktioniert, aber in Fedora 37 funktioniert es wie beschrieben.
Um den GTK Inspector zu starten, fokussieren Sie Ihre GTK-Anwendung und drücken Sie
Control-Shift-D
. Alternativ können Sie den Mauszeiger auf das gewünschte Widget bewegen und drücken,Control-Shift-I
um das Widget unter dem Mauszeiger gezielt zu untersuchen.
Es stellt sich also heraus, dass diese Aussagenrichtig-ish, aber sie sollten mit einer ganzen Reihe von Vorbehalten verbunden sein.
Ctrl+ Shift+D könnte funktionieren,wenn die Anwendung es nicht an etwas anderes gebunden hat.
Ebenso Ctrl+ Shift+I könnte funktionieren, unter den gleichen Bedingungen.
Und obwohl es technisch gesehen eine kontextsensitive Verknüpfung ist, die „das Widget unter dem Mauszeiger“ überprüft, zeichnen viele Anwendungen ihre gesamte Benutzeroberfläche in einem großen Bereich.
GtkDrawingArea
Seien Sie also nicht überrascht, wenn dies das Widget ist, das bei den meisten Mauspositionen angezeigt wird. (Sie können in diesem Bereich ohnehin nichts überprüfen, da es sich bei den Inhalten nicht um Gtk-Widgets handelt.)Wenn eine AnwendunghatWenn Sie eine oder beide Verknüpfungen wegbinden, werden die lokalen Bindungen überschrieben und Sie können nichts dagegen tun.
Insbesondere Nautilus hat eine andere Bindung für Ctrl+ Shift+ (nämlich „Auswahl umkehren“), sodass diese Tastenkombination zum Öffnen des Inspektors in Nautilus nie funktioniert und Sie nur + + Iverwenden müssen .CtrlShiftD
Gnome Terminal bindet tatsächlichbeide Ctrl+ Shift+ Dund Ctrl+ Shift+ I, daher funktioniert keine der beiden Tastenkombinationen ... weshalb sie eine praktischeHilfe > InspektorOption in der Anwendungsmenüleiste (sofern Sie diese aktivieren).
Nicht zuletzt,Es gibt einen Fehler in der Handhabung von Gtkvon Ctrl+ Shift+ D, das bei jedem zweiten Verwendungsversuch möglicherweise dazu führt, dass es nicht funktioniert. ( Ctrl+ Shift+ Ischeint davon nicht betroffen zu sein.)
Um zum Prüfer zu gelangen, müssen Sie die Punkte auf dieser Liste erfüllen:
Installieren Sie das entsprechende
gtk3-devel
/libgtk-3-dev
- odergtk4-devel
/libgtk-4-dev
-Paket. Nicht optional.Wenn Sie Gtk3 verwenden, aktivieren Sie den Schlüssel dconf
/org/gtk/settings/debug/enable-inspector-keybinding
bzw. den Schlüssel GSettingsorg.gtk.Settings.Debug enable-inspector-keybinding
. (Es handelt sich um dieselbe Einstellung.) Optional können Sie deaktivierenorg.gtk.Settings.Debug inspector-warning
.Gtk4 hat seinen eigenen
enable-inspector-keybinding
Schlüssel unterorg.gtk.gtk4.settings.debug
, der jetzt jedoch der Standard istTrue
, sodass Sie hier wahrscheinlich bereits gut zurechtkommen.org.gtk.gtk4.settings.debug.inspector-warning
Der Standard ist jedoch immer nochTrue
, daher sollten Sie dies möglicherweise deaktivieren.Entweder:
- Führen Sie ein Programm
GTK_DEBUG=interactive
innerhalb der Umgebung aus. - Wenn die Anwendung geöffnet und fokussiert ist, geben Sie Ctrl+ Shift+ Doder Ctrl+ Shift+ ein Iund hoffen Sie, dass eine davon funktioniert. Oder suchen Sie nach einer Menüoption, die dasselbe bewirkt.
- Führen Sie ein Programm