簡體   English   中英

為什么我的屏幕管理器不能單獨使用 kivy 語言並且需要 python?

[英]why doesn't my screen manager won't work with kivy language alone and needs python?

為什么這可以完美運行,但我必須明確地從 python 添加屏幕小部件

from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder
from kivy.app import App
class start(Screen):
  pass
class filexp(Screen):
  pass
class shuff(ScreenManager):
  pass
  
sty='''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<shuff>:
    transition:FadeTransition()
    start:
    filexp:
<start>:
    name:'main'
    Button:
        text:'what'
        on_release:app.root.current='exp'
<filexp>:
    name:'exp'
    GridLayout:
        cols:1
        Button:
            on_release:app.root.current='main'
          
'''
Builder.load_string(sty)
class a(App):
  def build(self):
    x=shuff()
    x.add_widget(start())
    x.add_widget(filexp())
    return(x)
a().run()

但是,盡管在 kivy 語言中向屏幕管理器添加了屏幕,但這只顯示黑屏

from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder
from kivy.app import App
class start(Screen):
  pass
class filexp(Screen):
  pass
class shuff(ScreenManager):
  pass
  
sty='''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<shuff>:
    transition:FadeTransition()
    start:
    filexp:
<start>:
    name:'main'
    Button:
        text:'what'
        on_release:app.root.current='exp'
<filexp>:
    name:'exp'
    GridLayout:
        cols:1
        Button:
            on_release:app.root.current='main'
          
'''
Builder.load_string(sty)
class a(App):
  def build(self):
    return(shuff())
a().run()

是我做錯了什么,還是我在使用 pydroid 應用程序在移動設備上運行解釋器時出現了一些小故障

使所有類名都以大寫字母開頭,效果很好

from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder
from kivy.app import App
class Start(Screen):
  pass
class Filexp(Screen):
  pass
class Shuff(ScreenManager):
  pass
  
sty='''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<Shuff>:
    transition:FadeTransition()
    Start:
    Filexp:
<Start>:
    name:'main'
    Button:
        text:'what'
        on_release:app.root.current='exp'
<Filexp>:
    name:'exp'
    GridLayout:
        cols:1
        Button:
            on_release:app.root.current='main'
          
'''
Builder.load_string(sty)
class a(App):
  def build(self):
    return(Shuff())
a().run()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM