我正在尝试创建一个简单的应用来监控某些IO并且有一个按钮屏幕。我开始使用kivy作为我的gui开发的屏幕如何工作的框架。我想基于变量做很多标签更新,所以这样做的愿望使我使用了.kv文件和kivy属性。不可否认,我对这些事情知之甚少,这正是我从谷歌搜索中所知道的,并试图找出我需要做的事情。
无论如何,我正在尝试使用一些基本框架来开始使用.kv文件,虽然我的main.py编译,但它不会显示任何按钮。我熟悉通过python语言添加按钮到布局,但我希望在kivy风格中做更多。请帮忙!
这是我的main.py
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
import random
class YourWidget(Widget):
random_number = StringProperty()
def __init__(self, **kwargs):
super(YourWidget, self).__init__(**kwargs)
self.random_number = str(random.randint(1, 100))
def change_text(self):
self.random_number = str(random.randint(1, 100))
class YourApp(App):
def build(self):
return YourWidget()
if __name__ == '__main__':
YourApp().run()
这是我的 your.kv
#:kivy 1.9.2
<YourWidget>:
BoxLayout:
size: root.size
orientation: 'horizontal'
spacing: 10
padding: 10
Button:
id: btn1
text: "Change Text"
on_release: root.change_text()
size_hint: .3, .3
Button:
id: btn2
text: "Exit App"
on_release: App.get_running_app().stop()
size_hint: .3, .3
Label:
id: lbl1
Font_size: 70
text:root.random_number
size_hint: .3, .3
让我知道你可以提供的任何帮助。我是python的新手,对kivy这样的软件包来说非常新。谢谢!另一个注意事项是,我正在显示器上进行开发,稍后将移植到触摸屏。
答案 0 :(得分:0)
将your.kv重命名为yourwidget.kv
答案 1 :(得分:-1)
在画布上绘制图形时,游戏的类或窗口小部件名称也必须反映在kivy文件中。