Iva*_*van 6 python menu popup gtk3
我正在使用带有python的GTK 3.4(带有GObject内省).
我有使用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')
Run Code Online (Sandbox Code Playgroud)
并使用此信号处理程序显示在托盘图标上:
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 )
Run Code Online (Sandbox Code Playgroud)
有没有办法如何强制弹出菜单调整大小以显示其所有项目而无需滚动?
根据您的要求,我假设您希望菜单足够大以避免滚动。根据 GTK+ 3 文档,GtkMenu 是 GtkWidget 的子类。因此,从逻辑上讲,您应该能够请求菜单的大小。尝试各种尺寸,直到一个足够大。该文档适用于 C,但它仍然适用于 Python。 https://developer.gnome.org/gtk3/stable/GtkWidget.html https://developer.gnome.org/gtk3/3.1/GtkMenu.html
| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |