使用Python kivy应用程序中的Action Bar来解决问题

时间:2016-03-24 12:44:37

标签: python user-interface kivy

我正在使用Kivy开发应用程序。我正在使用Kivy ActionBar为我的应用程序创建一个菜单栏。

请参阅附件enter image description here

我想删除Kivy图标并将其他选项(文件/编辑)移到左侧。请找到我的代码片段。

menuAcBar  = ActionBar(pos_hint={'top': 1.3})
menuAcView = ActionView()
menuAcBar.add_widget(menuAcView)
menuAcPrevious = ActionPrevious(with_previous=False)

menuAcView.add_widget(menuAcPrevious)
menuAcView.add_widget(ActionButton(text="File"))
menuAcView.add_widget(ActionButton(text="Edit"))
menuAcView.add_widget(ActionButton(text="Documents"))
menuAcView.add_widget(ActionButton(text="help"))

self.add_widget(menuAcBar)

1 个答案:

答案 0 :(得分:5)

ActionPrevious上,您可以设置app_icon。它在docs中略低一些。您可以将app_icon_width/height设置为图标的大小,甚至可以使用app_icon=''将其删除,但它会留下白色矩形而不是"透明"。保留app_icon并仅设置宽度和高度以使其不可见。

ĄctionPrevious具有ActionItem的minimum_width属性,因此您需要更改它:

menuAcPrevious = ActionPrevious(with_previous=False,
                         app_icon=<your_image>,
                         app_icon_width=1,
                         app_icon_height=0,
                         minimum_width=10,
                         size_hint_x: None)

修改 似乎ActionPrevious即使title=''minimum_width=1留下了额外的未使用空间,也无法通过儿童访问该死的东西,因为unregistered,因此,我想出的唯一一件事就是调整它,这样你就不会再看到它了:

ActionPrevious(
    size_hint_x = None,
    width = 0,
    app_icon_width = 0.1,
    with_previous = False)