6
私はPyGObjectを使ってGUIを組み立てています。このPythonコードはコンテキストで動作します。私は株式 "オープン"アイコンを持つツールバーのボタンを取得します。GTK3にストックアイコンを表示するための非推奨の方法は何ですか?
from gi.repository import Gtk
# ...
toolbar = Gtk.Toolbar()
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)
# ...
self.fileOpen = Gtk.ToolButton.new_from_stock(Gtk.STOCK_OPEN)
self.fileOpen.connect("clicked", self.on_FileOpenStandard_activate)
toolbar.insert(self.fileOpen, -1)
しかしthis resourceによると、new_from_stock()
が廃止されました:
:一緒に代わり
Gtk.Image.new_from_icon_name()
と使用Gtk.ToolButton.new()
。
いいえ。だから、さらに掘りした後、これは私が交換のために思い付いたものです:
self.fileOpen = Gtk.ToolButton(
Gtk.Image.new_from_icon_name("document-open",
Gtk.IconSize.LARGE_TOOLBAR),
"Open")
self.fileOpen.connect("clicked", self.on_FileOpenStandard_activate)
toolbar.insert(self.fileOpen, -1)
しかし、これが結果です:まだサポートされてこれを行うには正しい方法です何
現在のGTKライブラリによって?
あなたが見つけたものの説明:PyGObjectバインディングでは、オブジェクトのコンストラクタはオブジェクトのみのGObjectのプロパティを表すキーワード引数を取ります。一方、プロパティはCで扱いにくいので、プロパティを設定するための便利なパラメータを持つCのコンストラクタは静的な 'new()'メソッドとしてバインドされています。これは同じようにうまくいくはずです: 'Gtk.ToolButton(icon_widget = openIcon 、label = "Open") ' – ptomato