【问题标题】:Facing issue using Action Bar in Python kivy Application在 Python kivy 应用程序中使用操作栏面临的问题
【发布时间】:2016-03-24 12:44:37
【问题描述】:

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

请参考附图

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

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)

【问题讨论】:

    标签: python user-interface kivy


    【解决方案1】:

    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)
    

    【讨论】:

    • 您好 KeyWeeUsr,感谢您的回复。对于我的应用程序,我不想要任何图标集,还有其他按钮(文件/编辑),我希望它们左对齐,就像我们在 MS Word 中一样
    • 您好 KeyWeeUser,非常感谢!!上面的 sn-p 对我有用,按钮(文件/编辑)部分左对齐,即,我在文件按钮之前看到一些间隙。你能帮我解决这个问题吗?我尝试减小 min_width 并将 app_icon 保持为 ''(根据需要),但它对我不起作用
    • 也许您在File 之前还有另一个按钮或小部件?或者干脆将minimum_width 更改为更小的数字。当然ActionPrevious左边会有空隙,因为它由Image、Label等3-4个widget组成。
    • 根据我的要求,我不想要图标,因此我使用 app_icon 作为 '' 并将 min_width 设置为 1。即使在“文件按钮”之前它们也没有其他按钮/标签,我在文件之前得到了一些间隙,间隙大小接近于 2 个按钮大小。
    • 你设置size_hint_x: None了吗?您需要为父级可以使用其子级的size_hint 的小部件设置此项,否则它将忽略固定大小(大小、宽度、最小宽度...)。该示例适用于我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多