网站首页 > 开源技术 正文
- 导入kv文件
- py文件中编写kv代码
导入kv文件
前面和大家一起学习的内容只讲了自动导入(在py文件同目录下创建kv文件),忘了和大家分享如何导入其他地方的kv文件,下面我们就一起来学习一下如何导入指定的kv文件到py文件中
- 其实也很简单,我能只需要使用kivy.lang.builder中的Builder导入kv文件到py文件中即可,详情参考下列示例
- py文件
# _*_ coding : UTF-8 _*_
# 开发时间: 2021/7/22 13:42
# 文件名称: TTS.py
# 开发工具: PyCharm
# Text to speech
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.lang.builder import Builder
class Test(Widget):
pass
Builder.load_file("kv/tts.kv") # 导入kv文件
class TTSApp(App):
def build(self):
# return Button(text="hello") # 这是我们以前最简单的一个示例
return Test()
if __name__ == '__main__':
TTSApp().run()
- kv文件的位置如下图
- 运行结果
- 从上面的示例中我们可以知道,只需要使用Builder.load_file()导入指定的kv文件即可
py文件中编写kv代码
- 有时候我们可能会想:可不可以直接将kv文件的内容编写在py文件中呢?
- 答案是肯定的,并且也很简单:我们只需要将kv文件的内容写在Builder.load_string()中即可,如下示例
# _*_ coding : UTF-8 _*_
# 开发时间: 2021/7/22 13:42
# 文件名称: TTS.py
# 开发工具: PyCharm
# Text to speech
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.lang.builder import Builder
class Test(Widget):
pass
# Builder.load_file("kv/tts.kv") # 导入kv文件
Builder.load_string(
"""
# 注意:这里需要顶格写,否则会报错!
<Test>:
Button:
text: "XiaoqiangClub"
"""
)
class TTSApp(App):
def build(self):
# return Button(text="hello") # 这是我们以前最简单的一个示例
return Test()
if __name__ == '__main__':
TTSApp().run()
- 这里有一点需要注意:Builder.load_string()中的kv内容第一行需要顶格,否则会报错!
猜你喜欢
- 2024-09-16 有关休闲家具以及休闲家具的材料介绍
- 2024-09-16 顶级游戏开发框架 - Pygame、PyKyra、Pyglet、PyOpenGL和Kivy
- 2024-09-16 美式灯具要怎么选购,你们知道吗?
- 2024-09-16 思潮英文教育Kivy老师特约专栏:雅思阅读填空有它就可以了?
- 2024-09-16 INKIVY翻遍作家,打造工业风家庭工作间
- 2024-09-16 学会了Python,我们就可以开发小游戏了
- 2024-09-16 INKIVY谈INKIVY小编就为大家介绍下咖啡桌椅保养知识
- 2024-09-16 用 Python 写一个安卓 APP(python编写安卓应用)
- 2024-09-16 Python开发一个APP居然如此之简单?老王自学三月就独立开发了
- 2024-09-16 假期后半段南北方气温大面积创新低,东北西北天气寒凉
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)