我想为我的应用程序做语言翻译。在另一个py文件中访问字典中的翻译对我来说最有意义。你知道吗
我可以从技术上访问字典值,但我不能在按下按钮时更改KV文件中的值。如有任何指导,我们将不胜感激!你知道吗
from kivy.app import App
from kivy.lang import Builder
kv_file = Builder.load_string("""
#:import pyfile pyfile
ScreenManager:
id: manager
Screen:
GridLayout:
cols:1
rows:5
Button:
text: 'To English'
on_release:
pyfile.rando().chosen_language = pyfile.rando().English
Button:
text: 'To Croatian'
on_release:
pyfile.rando().chosen_language = pyfile.rando().Croatian
Label:
text:
pyfile.rando().chosen_language['MS First Button']
""")
class MyApp(App):
def build(self):
return kv_file
if __name__ == '__main__':
MyApp().run()
# -*- coding: utf-8 -*-
from kivy.properties import DictProperty
class rando(DictProperty):
English = {'MS First Button': 'Take the Quiz'
}
Croatian = {'MS First Button': 'Učinite Kviz'
}
chosen_language = English
使用DictProperty是不对的,属性只有在EventDispatcher的类级创建时才起作用。它们实际上是一种特殊类型的Python对象,称为描述符,您可以查看它们是如何工作的。你知道吗
上面的代码是一个快速调整,以显示一种方法来做一些可以工作的事情,就像一个有效的逻辑流(未测试)的例子。你知道吗
埃伦和险恶帮助找到了解决办法。谢谢你们俩!!你知道吗
你知道吗主.py
你知道吗pyfile.py文件
相关问题 更多 >
编程相关推荐