我的 kivy 配置有什么问题以及如何在 python 中修复它?

问题描述 投票:0回答:1

我正在使用 kivy 作为 python 中的应用程序,我认为我错误地配置了 kivy 的安装。我正在尝试使用 KV 文件并引用根类。由于构建器加载文件,因此没有可供 KV 文件引用的类,并且我收到“'FloatLayout'没有属性'test'”错误。但是如果我在KV文件中创建一个类,然后返回引用类,它将不会显示该按钮。如果我尝试引用 Tracker(app) 类中的方法,则不会执行任何操作。我需要对我的配置或代码进行哪些更改才能解决我的问题?

这个问题在我正在开发的应用程序以及下面的测试代码中仍然存在。

IDE 是 Visual Studios(如果重要的话)

(.py file)
import kivy
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder


class One(FloatLayout):
    
    def test(self):
        print("Clicked")
        

class Main(App):
    def build(self):
        print("Running")
        #return One()
        return Builder.load_file("one.kv")

if __name__ == '__main__':
    Main().run()

(KV file)
#<One>:
FloatLayout:
    Button:
        text: "Enter"
        size_hint: None, None
        size: 100, 50
        pos_hint: {'center_x': 0.5, 'center_y': 0.5}
        on_press: root.test()

我希望能够单击按钮并打印“已单击”。

python visual-studio kivy kivy-language python-3.12
1个回答
0
投票

只需将

FloatLayout
文件中的
kv
更改为
One
:

One:
    Button:
        text: "Enter"
        size_hint: None, None
        size: 100, 50
        pos_hint: {'center_x': 0.5, 'center_y': 0.5}
        on_press: root.test()
© www.soinside.com 2019 - 2024. All rights reserved.