【问题标题】:Button Not Displayed in KivyKivy 中未显示按钮
【发布时间】:2021-07-24 04:28:09
【问题描述】:

我正在学习 Kivy,按钮不显示在 Kivy 屏幕中。我无法找到问题。我的 Python 版本是 3.5.3

from kivy.app import App
from kivy.uix.widget import Widget


class MainWidget(Widget):
    pass


class TheLabApp(App):
    pass


TheLabApp().run()

MainWidget:

<MainWidget>:
    Button:
        text: "Hello"
        size: "40dp", "40dp"
        pos: "100dp", "200dp"

【问题讨论】:

    标签: python python-3.x kivy kivy-language


    【解决方案1】:

    尝试输入FloatLayout:

    from kivy.app import App
    from kivy.uix.floatlayout import FloatLayout
    
    
    class MainWidget(FloatLayout):
        pass
    
    
    class TheLabApp(App):
        pass
    
    
    TheLabApp().run()
    

    【讨论】:

    • 不需要浮动布局来显示按钮。
    【解决方案2】:
    1. 确保您的 .kv 文件以前缀“TheLab”开头,来自 Pong Game Tutorial:

    常见错误:kv 文件的名称,例如pong.kv,必须与应用程序的名称匹配,例如PongApp(App结尾前的部分)

    1. 将 build 方法添加到您的 App 类中:

       class TheLabApp(App):
           def build(self):
               return MainWidget()
      

    编辑:一个完整​​的工作示例:

    *main.py

        from kivy.app import App
        from kivy.uix.widget import Widget
    
    
        class MainWidget(Widget):
            pass
    
    
        class TheLabApp(App):
            def build(self):
                return MainWidget()
    
    
        TheLabApp().run()
    

    *TheLab.kv

        <MainWidget>:
            Button:
                text: "Hello"
                size: "40dp", "40dp"
                pos: "100dp", "200dp" 
    

    【讨论】:

    • 我已经处理好了。但窗口不显示按钮。
    • 它必须是thelab.kv 而不是TheLab.kv
    • kv文件名没问题。
    猜你喜欢
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 2013-03-12
    • 2020-10-16
    相关资源
    最近更新 更多