stack.py:
Code: Select all
from kivy.lang import Builder
from kivymd.uix.gridlayout import MDGridLayout
from kivymd.uix.appbar.appbar import (MDTopAppBar, MDTopAppBarTitle,
MDTopAppBarTrailingButtonContainer, MDActionTopAppBarButton)
from kivymd.app import MDApp
class MyFirstTopAppBar(MDTopAppBar):
pass
class MySecondTopAppBar(MDTopAppBar):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.type = 'small'
trailing = MDTopAppBarTrailingButtonContainer()
trailing.add_widget(MDActionTopAppBarButton(icon="dots-vertical"))
title = MDTopAppBarTitle(text="Title")
self.add_widget(title)
self.add_widget(trailing)
class ExampleFirstApp(MDApp):
def build(self):
return Builder.load_file('stack.kv')
class ExampleSecondApp(MDApp):
def build(self):
gl = MDGridLayout(cols=1)
tab = MySecondTopAppBar()
gl.add_widget(tab)
return gl
#ExampleFirstApp().run()
#ExampleSecondApp().run()
Code: Select all
MDGridLayout:
cols:1
MyFirstTopAppBar:
:
type: 'small'
MDTopAppBarTitle:
text: "Title"
MDTopAppBarTrailingButtonContainer:
MDActionTopAppBarButton:
icon: "dots-vertical"
< /p>
wob Symbol):
Mein Problem ist - In vielen Tutorials habe ich gelesen, dass es keine Rolle spielt, ob man Widgets in Python oder über KV -Dateien manuell hinzufügt - und in diesem Fall scheint es eine Rolle zu sein. Kann mir bitte jemand erklären, was der Grund für den Unterschied ist und wie ich die Python -Version korrigieren kann, damit er wie der mit KV? Version 2.0.1.DEV0 unter Python 3.13