2012-11-23 44 views
6

我使用GTK 3.4与python(与GObject内省)。GTK 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) 

有什么办法如何强行弹出菜单来调整,以显示其所有项目的无需要滚动?

回答

相关问题