我是 kivy 和 python 的新手,我使用 tkinter 创建了一个应用程序,可以在我的电脑上运行它,但确实需要在我的移动设备上使用它。后来发现无法将 tkinter 转换为 apk 或 ios,这让我很困惑,哈哈。
当我点击 tkinter 中的按钮时,它会从销售中获取输入,进行一些计算,然后输出到每个标签下的空间
每个按钮输出到 3 个点,我怎样才能在 kivy 中做到这一点?我应该在 KV 文件中执行它还是应该用 python 编写代码,如果是的话如何在 gui 的 kv 文件中调用该函数?
抱歉,我知道完整的菜鸟问题,有 1000 个可能的答案
谢谢乔丹
这是一个可以帮助您入门的模板。分为test.py和test.kv
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.lang import Builder
# this object name should match the .kv file object
class MyBoxLayout(BoxLayout):
my_textinput: TextInput
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.my_textinput.text = "hello"
class MyApp(App):
def build(self):
return self._main
def button_pressed(self, my_button: Button, number: int, *args, **kwargs):
print(type(my_button))
self._main.my_textinput.text = f"button {number}"
def __init__(self):
super().__init__()
Builder.load_file("test.kv")
self._main = MyBoxLayout()
if __name__ == "__main__":
MyApp().run()
和 .kv 文件
<MyBoxLayout>:
orientation: "vertical"
padding: 20
# python on this side: Kivy id on this side
my_textinput: my_textinput
Label:
text: "Example application"
font_size: 24
size_hint_y: None
height: 50
TextInput:
id: my_textinput
hint_text: "Enter text here"
BoxLayout:
size_hint_y: 2
Button:
text: "Button 1"
on_press: app.button_pressed(self, 1)
Button:
text: "Button 2"
on_press: app.button_pressed(self, 2)
Button:
text: "Button 3"
on_press: app.button_pressed(self, 3)