我目前正在尝试在ActionGroup小部件中动态添加,删除和显示内容/小部件。当我尝试将ActionButton添加到ActionGroup时,小部件将添加到ActionGroup。但是,当我在程序测试运行中单击ActionGroup(旋转器模式)时,未显示我添加的小部件。它仅在我调整应用程序窗口的大小时显示,迫使其刷新然后允许显示我添加的ActionButton。当我添加一个ActionButton时,如何使它立即显示,而不是让我在App窗口上做一些调整大小只是为了使其显示。
我尝试查看如何刷新ActionBar或ActionView,类似于在尝试调整窗口大小时如何刷新。但是,该文档未显示任何制作方法。
python代码
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)
kv代码
<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时,添加的小部件应该立即可见(旋转方式)。但是,它不会立即显示,仅在我调整窗口大小,迫使其溢出(来自ActionView的ActionOverflow)并显示我添加的ActionButton时显示。
添加按钮
添加按钮后,按ActionGroup时该按钮不显示
仅当我尝试了一些最小化和最大化窗口命令时才会显示