मैं PyGObject का उपयोग कर एक जीयूआई जोड़ रहा हूँ। यह पायथन कोड संदर्भ में काम करता है। मुझे स्टॉक "ओपन" आइकन के साथ टूलबार बटन मिलता है।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()
अब मान्य नहीं है:
संस्करण 3.10 के बाद से पदावनत: उपयोग
Gtk.ToolButton.new()
एक साथGtk.Image.new_from_icon_name()
बजाय साथ।
ठीक है तो। तो आगे खुदाई के बाद, यह क्या मैं एक प्रतिस्थापन के लिए साथ आए हैं:
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)
लेकिन यह परिणाम है:
क्या ऐसा करने का सही तरीका यह है कि अभी भी समर्थित है वर्तमान जीटीके लाइब्रेरी द्वारा?
आप क्या मिला के लिए विवरण: PyGObject बाइंडिंग में, वस्तुओं 'कंस्ट्रक्टर्स केवल वस्तु की GObject गुण का प्रतिनिधित्व कीवर्ड आर्ग ले। दूसरी तरफ, सी कन्स्ट्रक्टर, जो गुणों को सेट करने के लिए अक्सर अतिरिक्त सुविधा पैरामीटर होते हैं क्योंकि गुण सी में बोझिल हो सकते हैं, स्थिर 'नई()' विधियों के रूप में बंधे होते हैं। यह समान रूप से अच्छी तरह से काम करना चाहिए: 'Gtk.ToolButton (icon_widget = openIcon , लेबल = "ओपन") ' – ptomato