Проблема с использованием панели действий в приложении Python kivy



Я работаю над разработкой приложения с использованием Kivy. Я использую Kivy ActionBar для создания строки меню для моего приложения.



Пожалуйста, обратитесь к прилагаемому изображениюВведите описание изображения здесь



Я хочу удалить значок 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)
638   1  

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 и вы не можете получить доступ к этой чертовой штуке через детей, потому что она незарегистрирована , поэтому единственное, что я придумал, - это изменить ее размер, чтобы Вы ее больше не видели:

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

Comments

    Ничего не найдено.