我目前正在开发具有多个屏幕的应用程序(为此我使用了ScreenManager)。但是,有一个名为TravelManagerWindow的屏幕,其中也有一个MDBottomNavigation小部件,一个MDBottomNavigationItem(或屏幕)将用于旅行费用请求,另一个用于提供旅行后此类费用的证据。
问题在于,一旦我输入TravelManagerWindow,MDBottomNavigation小部件的选项卡将被错误地定位。不过,在我手动调整整个应用程序窗口的大小之后,选项卡的位置会更改为所需的位置。有没有办法确保从一开始就正确显示选项卡?我一直在寻找各种解决方案的日子,但仍然无法解决我的问题。
相关代码如下:
<TravelManagerWindow>:
name:'travelManager'
on_enter: root.set_expansion_panel()
on_enter: root.set_expansion_panel_2()
BoxLayout:
orientation: 'vertical'
MDBottomNavigation:
id: bottom_Navigation
MDBottomNavigationItem:
text: 'Solicitud de Gastos'
name: 'solicitudes'
halign:'center'
icon: 'plus'
MDBottomNavigationItem:
text: 'Comprobacion de Gastos'
name: 'comprobacion'
halign:'center'
icon: 'format-list-checks'
非常感谢,非常感谢您提出任何建议。
答案 0 :(得分:1)
我想通了。我只是在进入 MDBottomNavigation 所在的屏幕之前调整了窗口大小:
from kivy.core.window import Window
def on_pre_enter(self, *args):
Window.size = (Window.width + 1, Window.height + 1)
Window.size = (Window.width - 1, Window.height - 1)