Прокручиваемое контекстное меню Kivy - PullRequest
0 голосов
/ 07 января 2019

У меня проблема с динамическим заполнением моего контекстного меню путем извлечения данных из базы данных. Однако контекстное меню переполняется за пределы экрана.

Есть ли способ сделать его прокручиваемым или сделать контекстное меню заполненным вниз, а не вверх?

enter image description here

Это мой файл:

from kivy.lang import Builder
from UltimateDropDown import UltimateDropDownApp
from Database import Database
if __name__ == '__main__':
    db = Database()
    db.populateChangeTypes()
    kv = """
#: import HoverLabel HoverBehavior
#: import ContextMenu kivy.garden.contextmenu

UltimateDropDown:

<UltimateDropDown>:
    id: layout

    ModifiedHoverLabel:
        id: hover_label
        pos: 10, self.parent.height - self.height - 10
        text: "Left click anywhere outside the context menu to close it"
        size_hint: None, None
        size: self.texture_size
        on_enter: context_menu.show(*app.root_window.mouse_pos)

    Button:
        size_hint: None, None
        pos_hint: {"center_x": 0.5, "center_y": 0.8 }
        size: 300, 40
        text: "Click me to show the context menu"
        on_release: context_menu.show(*app.root_window.mouse_pos)

    ContextMenu:
        id: context_menu
        visible: False
        cancel_handler_widget: layout
"""
    str_list = []
    for item in db.changeTypeToId:
        str_list.append("""
        ContextMenuTextItem:
            text: """ + '"{0}"'.format(item) + """""")
    kv += ''.join(str_list)
    Builder.load_string(kv)
    udda = UltimateDropDownApp()
    udda.run()

Единственный код, который уместен здесь, это контекстное меню Kivy Garden (из GitHub).

Дополнительное примечание : контекстное меню выглядит хорошо, если под 20 пунктов. Начинает заполняться вверх при переполнении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...