2012-11-23 12 views
6

मैं जीटीके 3.4 का उपयोग पायथन (गोब्जेक्ट आत्मनिरीक्षण के साथ) के साथ कर रहा हूं।जीटीके 3 - इसमें आइटम जोड़ने के बाद पॉपअप मेनू का विस्तार करने के लिए

मेरे पास Gtk.UIManager के साथ पॉप-अप मेनू निर्माण है, मेनू मेनू तत्काल होने पर कुछ मेनू आइटम सक्रिय/दृश्यमान नहीं होते हैं। बाद में वे सक्रिय हो गए और वे मेनू में दिखाई दिए।

हालांकि एक छोटा मुद्दा है - आकार एक पॉप-अप मेनू (ऊंचाई) समान रहता है - और मुझे मेन्यू आइटम्स के बावजूद स्क्रॉल करना होगा - मेनू क्षेत्र के ऊपर और नीचे पर^v तीर दिखाने के लिए हैं वह आइटम क्षेत्र में फिट नहीं होते हैं और यह ऊपर और नीचे स्क्रॉल करना संभव है। हालांकि, अगर पॉप-अप का आकार दिखाया जाता है तो यह बहुत पसंद करेगा।

पॉपअप को ऐप पर एक बार तुरंत चालू किया जाता है। इस तरह वस्तु:

menu_manager=Gtk.UIManager() 
menu_manager.insert_action_group(self.core_actions) 
menu_manager.insert_action_group(self.power_type_actions) 
menu_manager.add_ui_from_file(os.path.join(_curr_dir, 'ui', 'menus.xml')) 
self.menu_manager=menu_manager 
self.popup=menu_manager.get_widget('/popup') 

और इस संकेत हैंडलर के साथ ट्रे आइकन पर दिखाया गया है:

def show_menu(self, tray_icon, button, activate_time, user_data=None): 
    def pos(menu, icon): 
     p= Gtk.StatusIcon.position_menu(menu, icon) 
     return p 
    log.debug('Menu button=%s, time=%s', button, activate_time) 
    self.popup.popup(None, None, pos, tray_icon, button, activate_time) 

वहाँ किसी भी तरह से कैसे आकार बदलने के लिए पॉप-अप पर मेनू के लिए मजबूर करने के बिना अपने आइटम के सभी को दिखाने के लिए है स्क्रॉल करने की जरूरत है?

उत्तर

2

आपके अनुरोध से, मुझे लगता है कि आप स्क्रॉलिंग से बचने के लिए मेनू को काफी बड़ा होना चाहते हैं। जीटीके +3 दस्तावेज के मुताबिक, जीटीकेमेनू जीटीकेविजेट का उप-वर्ग है। तो, तार्किक रूप से, आप मेनू के आकार का अनुरोध करने में सक्षम होना चाहिए। विभिन्न आकारों को आजमाएं जब तक कि कोई बड़ा न हो। वह दस्तावेज सी के लिए है, लेकिन इसे अभी भी पायथन पर लागू होना चाहिए। https://developer.gnome.org/gtk3/stable/GtkWidget.html https://developer.gnome.org/gtk3/3.1/GtkMenu.html

संबंधित मुद्दे