Kivy的中文显示有一些问题,我不想改变默认字体设置,只想通过在代码中改变字体编码从而显示中文。思考很久了,还是没有找到应该在哪里改,希望懂的大神指点一下:
from kivy.app import App
from kivy.uix.filechooser import FileChooserListView
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.popup import Popup
from kivy.lang.builder import Builder
# “黑体.ttf”文件已复制到默认路径中
Builder.load_string('''
<WarningPopup@Popup>:
title: '警告'
font_name: "黑体"
size_hint: None, None
size: 400, 200
BoxLayout:
orientation: "vertical"
Label:
text: "确定打印文件名及路径吗?"
font_name: "黑体"
BoxLayout:
size_hint_y: 0.3
Button:
text: "取消"
font_name: "黑体"
on_release: root.dismiss()
Button:
text: "确定"
font_name: "黑体"
on_release:
root.parent_inst.selete()
root.dismiss()
''')
def to_unicode(string):
"""用于把中文字符转变为 Unicode 字符"""
ret = ''
for v in string:
ret = ret + hex(ord(v)).upper().replace('0X', '\\u')
return ret
class WarningPopup(Popup):
def __init__(self, parent_inst,**kwargs):
super(WarningPopup, self).__init__(**kwargs)
self.parent_inst = parent_inst
self.title_font="黑体"
class MainWindow(BoxLayout):
def __init__(self, **kwargs):
super(MainWindow, self).__init__(**kwargs)
self.orientation = "vertical"
self.fichoo = FileChooserListView()
self.popup = WarningPopup(self)
btn_delete = Button(text="确定", on_release=self.popup.open, size_hint_y=0.1,font_name="黑体")
self.add_widget(self.fichoo)
self.add_widget(btn_delete)
def selete(self, *args):
print(self.fichoo.selection[0])
class ExampleApp(App):
def build(self):
return MainWindow()
if __name__ == "__main__":
ExampleApp().run()
运行效果如下:
大家看看怎么让路径也显示为黑体,我是强迫症,解决不了这个问题,没劲头往下研究了。