kivy教程之在 Kivy 中支持中文以构建跨平台应用程序(教程含源码)
2023-09-11 14:18:32 时间
本教程讨论了在 Kivy 中支持中文,以便在使用诸如汉语、日语和韩语等UI 小部件上显示文本。
介绍
Kivy 是一个用于在 Python 中构建跨平台应用程序的库。使用相同的 Python 文件,可以创建 Windows、Linux、Mac、Android 和 iOS 应用程序。
默认情况下,Kivy 支持此链接https://github.com/kivy/kivy/tree/master/kivy/data/fonts中项目中可用的多种字体。当前支持的字体是 Roboto 和 DejaVu Sans。有许多国家在其官方语言中使用中文。
在标签小部件上显示中文
下一个 Python 代码创建了一个 Kivy 应用程序,其中窗口只有一个 Label 小部件,显示中文文本
import kivy.app
import kivy.uix.label
class TestApp(kivy.app.App):
def build(self):
return kivy.uix.label.Label(text="我爱北京天安门")
testApp = TestApp()
testApp.run()
运行此应用程序后的结果如下图所示,其中文本显示不正确。这意味着 Kivy 无法理解这些字符。当然,问题在于用于在 Label 小部件上显示文本的字体。
好消息是 Kivy 允许使用我们自己的字体在 UI 小部件上显示文本。如果默认的 Kivy 字体不支持中文,
相关文章
- 为什么 execute(`echo 中文`) 输出中文源码?
- SecureField (SwiftUI 中文文档手册 教程含源码)
- SwiftUI UIScrollView 教程之 02 UIScrollViewDelegate UIKit中文文档
- SwiftUI macOS之实现三栏可拖拽界面(中文教程含源码)
- drawingGroup(opaque:colorMode:)(SwiftUI 中文文档手册 教程含源码)
- ObservedObject (SwiftUI 中文文档手册 教程含源码)
- popover <Content> (SwiftUI 中文文档手册 教程含源码)
- GroupBox (SwiftUI 中文文档手册 教程含源码)
- Capsule (SwiftUI macOS中文文档手册 教程含源码)
- NSSharingServicePicker (SwiftUI macOS中文文档手册 教程含源码)
- hueRotation(_ : ) (SwiftUI 中文文档手册 教程含源码)
- sheet(isPresented:onDismiss:content:) (SwiftUI 中文文档手册 教程含源码)
- gesture gesture(_:) (SwiftUI 中文文档手册 教程含源码)
- NSFocusRingType (SwiftUI 中文文档手册 教程含源码)
- NSClickGestureRecognizer (SwiftUI macOS中文文档手册 教程含源码)
- 控制台程序的中文输出乱码问题(export LC_CTYPE=zh_CN.GBK,或者修改/etc/sysconfig/i18n为zh_CN.GBK。使用setlocale(LC_CTYPE, "");会使用默认办法。编译器会将源码做转换成Unicode格式,或者指定gcc的输入文件的编码参数-finput-charset=GBK。Linux下应该用wprintf(L"%ls/n",wstr))