У меня есть простой код для смены экранов. Мне просто интересно, какую переменную правильно изменить в callback(), чтобы вызвать смену экрана. Я видел это другими способами, но хотел убедиться, что у меня есть статическая панель MDToolbar, поэтому при изменении экрана панель инструментов не перемещается.
Приведенный ниже код не меняет экран в callback() в этом.py код:
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivymd.app import MDApp
from kivy.loader import Loader
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmanager import Screen, ScreenManager
from kivymd.uix.label import MDLabel
from kivymd.uix.floatlayout import MDFloatLayout
class TCalc(MDApp):
def callback(self,obj):
self.root.current = "tipscreen2"
def build(self):
return Builder.load_file('dip.kv')
TCalc().run()
dip.kv:
MDNavigationLayout:
orientation: 'vertical'
MDToolbar:
id: toolbar
right_action_items: [["cog", lambda x: app.callback(x)]]
ScreenManager:
id: screen_manager
Screen:
name: "tipscreen1"
MDFloatLayout:
MDLabel:
text: "Screen 1"
Screen:
name: "tipscreen2"
MDFloatLayout:
MDLabel:
text: "Screen 2"
MDNavigationDrawer:
id: nav_drawer
MDNavigationDrawerMenu:
Подробнее здесь: https://stackoverflow.com/questions/711 ... t-this-way
Kivy/md - Как изменить экраны с помощью ScreenManager, могу ли я сделать это таким образом...? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Текущее свойство Kivy ScreenManager не находит экраны с указанным свойством имени
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-