kivy编程相关
2021/11/14 11:10:19
本文主要是介绍kivy编程相关,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
kivy全局中文支持最简单的解决方法
对于一个python coder来说,kivy是非常吸引注意的一个GUI库,它只需编写一套代码,便可运行于各种平台系统上(包括 Linux, Windows, OS X, Android, iOS, 以及 Raspberry Pi),Kivy 采用 Python 和 Cython 编写,在国外已经十分火爆,受关注程度甚至一度超越了老牌的 Python GUI 工具 PyQt。
鉴于此,我也进行了系统的学习与研究,以后可以利用python来开发移动app,这将可以把python人工智能方向的功能体现在移动平台上。可以方便我开拓移动APP领域的业务。
与网上所有接触kivy的猿类一样,遇到的kivy中文支持的问题,网上大多数方案为本地方案及单页面方案。经过了解原码,做了如下全局中文支持修改方案。
本方法为微软雅黑字体整套进行匹配修改,当然也可更换其他字体进行修改:
1, 下载字体文件包,并解压,下载地址:https://download.csdn.net/download/michaelxguo/20618394。
备注:已经下载放在百度网盘
2,找到本机或服务器python安装目录(..\Python39(此为你的python安装目录所在位置)\Lib\site-packages\kivy\data\fonts),打开fonts文件夹,先备份文件夹内字体文件,然后用下载解压的字体文件复制到fonts文件夹内。
放置目录:(F:\kivy\Lib\site-packages\kivy\data\fonts)
3,然后运行项目,则全局中文支持搞定。
kivy窗口界面元素坐标体系是从左下角开始的xy轴体系
class MainScreen(FloatLayout): def __init__(self, **kwargs): super(MainScreen, self).__init__(**kwargs) # 设置窗体不全屏 Window.fullscreen = False # 指定初始化后的主窗体大小,但是程序运行后,还是动态地改变大小 Window.size = (480, 800) # 将文本框添加到布局内 self.add_widget(Label(text='连接状态', font_size=23, size_hint=(.2, .05), pos=(0, 760))) self.connState = TextInput(multiline=True, font_size=18, size_hint=(1, .1), pos=(0, 680), background_color=(0.8, 0.5, 0.3, 1)) self.add_widget(self.connState) self.add_widget(Label(text='消息内容', font_size=23, size_hint=(.2, .05), pos=(0, 640))) self.msgData = TextInput(multiline=True, font_size=18, size_hint=(1, .45), pos=(0, 280), background_color=(0.1, 0.8, 0.3, 1)) self.add_widget(self.msgData) self.add_widget(Label(text='发送消息', font_size=23, size_hint=(.2, .05), pos=(0, 240))) self.msgSent = TextInput(multiline=True, font_size=18, size_hint=(1, .25), pos=(0, 40), background_color=(0.1, 0.5, 0.7, 1)) self.add_widget(self.msgSent) # 将按钮添加到布局内 closeWindows = Button(text='关闭软件', font_size=23, size_hint=(.333, .05), pos=(320, 0)) btnAddMsg = Button(text='添加消息', font_size=23, size_hint=(.333, .05), pos=(160, 0)) btnSendMsg = Button(text='确认发送', font_size=23, size_hint=(.333, .05), pos=(0, 0)) closeWindows.bind(on_press=self.on_eventcloseWindows) self.add_widget(closeWindows) btnAddMsg.bind(on_press=self.on_eventAddMsg) self.add_widget(btnAddMsg) btnSendMsg.bind(on_press=self.on_eventSendMsg) self.add_widget(btnSendMsg) # 定时刷新消息框 Clock.schedule_interval(self.refresh_schedule, 0.1) def refresh_schedule(self, dt=0): # 写入connstate列表,列表元素为 string while params['connstate']: self.msgData.text = self.msgData.text + "\r\n" + params['connstate'][0] del params['connstate'][0] def on_eventcloseWindows(self, obj): KivyApp().stop()
这篇关于kivy编程相关的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南