self.button = gtk.Button(stock=gtk.STOCK_DELETE)
Nur Shows: Lager Icons nicht auf Tasten gezeigt
löschenself.button = gtk.Button(stock=gtk.STOCK_DELETE)
Nur Shows: Lager Icons nicht auf Tasten gezeigt
löschenDies ist eine aktuelle Änderung in GTK - die Entwickler wollten Symbole nicht auf Schaltflächen angezeigt werden. Unter Linux kann dies durch die Bearbeitung der geändert werden gconf
Schlüssel
/desktop/gnome/interface/buttons_have_icons
auf Fenster, denke ich (ich habe nicht wirklich versucht), dass Sie einen Wert in Ihrer gtkrc Datei gesetzt (für mich ist es in C:\Program Files\Gtk+\etc\gtkrc
) und verwenden Sie ein Thema, das Symbole unterstützt (ich denke, das Standard-Symbol nicht).
Sie auch gtk-button-images = 1
auf Ihre ~/.gtkrc-2.0
Datei nach Einstellung des Themas hinzufügen können, die über die Möglichkeit von gconf
fahren kann.
EDIT in Antwort auf Ihren Kommentar:
Genau wie diese Antwort, aber in Python: In Gtk, how do I make a Button with just a stock icon?
für Python, dann ist es
nurimage = gtk.Image()
# (from http://www.pygtk.org/docs/pygtk/gtk-stock-items.html)
image.set_from_stock(gtk.STOCK_**)
button = gtk.Button()
button.set_image(image)
button.set_label("")
Danke für die schnelle Antwort. Wissen Sie, wie Sie den Textteil von Symbolen von Schaltflächen entfernen können? – aberkowitz
Ich habe Ihren Kommentar in der Bearbeitung beantwortet - es ist im Grunde wie die Frage, die Trent im Kommentar zu Ihrer ursprünglichen Frage gepostet hat. –
@DanielG Welchen Wert müssen Sie in Windows ändern? – techno
ich das tun musste, bekommen Es funktioniert von Python, ohne meine Konfigurationsdatei zu ändern. Als ich set_image() anrief, wurde kein Bild angezeigt.
image = gtk.Image()
image.set_from_stock(gtk.STOCK_**, gtk.ICON_SIZE_BUTTON)
button = gtk.Button()
button.add(image)
button.show()
Ich hatte das gleiche Problem in GTKmm unter Windows. Das "MS-Windows" -Thema deaktiviert Bilder auf Standardschaltflächen und das Thema hat Vorrang vor den Einstellungen in gtkrc (daher half es nicht, gtk-button-images = true in gtkrc zu verwenden). Was ich getan habe, ist die Laufzeit der GTK-Einstellungen zu ändern, und die Bilder erschienen wie erwartet. :) Hier ist der Code in C++:
Es sollte platziert werden, nachdem das erste Fenster aufgebaut ist.
Der Python entspricht die Eigenschaft für die Einstellung ohne System-Konfigurationsdateien ändern zu müssen ist:
settings = gtk.settings_get_default()
settings.props.gtk_button_images = True
Dieser Anruf folgen sollte window.show() und, natürlich, geht den Gtk.main() Schleife.
Wenn jemand versucht, dies in C zu tun, 'GtkSettings * settings = gtk_settings_get_default(); g_object_set (settings, "gtk-button-images", WAHR, NULL); 'ist die äquivalente Prozedur. – Fraxtil
Sie können das Bild der Schaltfläche explizit anzeigen. Gtk + -Entwickler empfehlen dies nicht, da es die Gtk + -Benutzerkonfiguration außer Kraft setzt.
So ...
button.get_image().show()
Wenn Sie mit pygobject arbeiten, die neue Syntax:
image.set_from_stock(gtk.STOCK_**, Gtk.IconSize.BUTTON)
Ich musste gtk.ICON_SIZE_BUTTON verwenden – jsj
in Gtk3 gtk.STOCK
Methode deprecated from v3.10 gewesen.
Veraltet seit Version 3.10: Verwenden Sie stattdessen Gtk.Button.new_with_label() .
Im Fall ist es nicht, da es verweist auf die individuelle Label-Lösung hilft (new_with_label
) Wenn Sie STOCK Material verwenden möchten, können Sie noch tun, also mit neuen Methoden Gtk.Button.new_from_icon_name(icon_name, size)
und Gtk.Button.new_with_mnemonic(label)
die neue Schaltflächen mit Lager schaffen Symbol bzw. Label.
Beispiel neue Schaltfläche mit einem "Lager" Symbol:
button = Gtk.Button.new_from_icon_name ("edit-paste", Gtk.IconSize.SMALL_TOOLBAR)
Beispiel neue Schaltfläche mit einem "Lager" Label:
button = Gtk.Button.new_with_mnemonic("_Open")
HINWEIS: auf ernsthaften Code eine Konstante zu schaffen Variable, anstatt die Zeichenfolge gerade zu verwenden, ist eine bessere Option :)
Referenzen:
Diese Antwort könnte Ihnen helfen: http://stackoverflow.com/questions/1734914/in-gtk-how-do- i-make-a-button-mit-nur-ein-lager-icon – Trent