Как обновить отображение Kivy ActionGroup, когда к нему добавлен виджет? - PullRequest
0 голосов
/ 24 июня 2019

В настоящее время я пытаюсь динамически добавлять, удалять и отображать содержимое / виджеты в виджете ActionGroup.Когда я пытаюсь добавить ActionButton в ActionGroup, виджет добавляется в ActionGroup.Однако, когда я нажимаю ActionGroup (режим вращения) во время запуска программы, добавленный виджет не отображается.Он отображается только когда я изменяю размер окна приложения, заставляя его обновляться, а затем позволяю показывать добавленную мною ActionButton.Как я могу сделать так, чтобы при добавлении ActionButton он показывался сразу, а не заставлял меня делать какие-то изменения в окне приложения, просто чтобы он появился.

Я пытался посмотреть, как обновить ActionBar или ActionView аналогичноо том, как он обновляется, когда я пытаюсь изменить размер окна.Однако документация не показывает какие-либо методы, как это сделать.

код питона

class ThirstyWellRoot(BoxLayout):
     def create_graph(self, port):
        graph_controller = GraphController(port, name=port.port_name)
        action_button = ActionButton(text=port.port_name)
        self.screen_manager.add_widget(graph_controller)
        self.action_group.add_widget(action_button)

код кв

<ThirstyWellRoot>:
    action_group: action_group
    screen_manager: screen_manager
    orientation: 'vertical'
    canvas:
        Color:
            rgba: tertiary_color
        Rectangle:
            size: self.size
            pos: self.pos
    ScreenManager:
        id: screen_manager
    ActionBar:
        height: 50
        ActionView:
            id: action_view
            use_separator: True
            ActionPrevious:
                with_previous: False
                app_icon: 'assets/theme/logo.png'
                on_release: root.about()
            ActionGroup:
                id: action_group
                mode: 'spinner'
                text: 'PORTS'
            ActionGroup:
                text: 'DISPLAY'
                ActionButton:
                    text: 'ADD'
                    on_release: root.add_connection()
                ActionButton:
                    text: 'OPEN'
                    on_release: root.open_graph()
                ActionButton:
                    text: 'REMOVE'
                    on_release: root.remove_graph()
            ActionGroup:
                text: 'COMMANDS'
                ActionButton:
                    text: 'MONITOR'
                ActionButton:
                    text: 'STOP'
                ActionButton:
                    text: 'RESET'

Ожидается, что при добавлении ActionButton в ActionGroup добавленный виджет должен быть виден сразу после нажатия ActionGroup (режим вращения).Однако он не отображается сразу, а отображается только при изменении размера окна, что приводит к его переполнению (ActionOverflow из ActionView) и отображению добавленного ActionButton.

При добавлении кнопки

As I add the button

После добавления кнопки она не отображается, когда я нажимаю ActionGroup

After I add the button it does not show up as I press the ActionGroup

Отображается только тогда, когда я пытался несколько раз свернуть и развернуть оконные команды

It only shows up when I tried few minimize and maximize window commands

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