首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kivy -在应用程序启动时从文件传递变量

Kivy -在应用程序启动时从文件传递变量
EN

Stack Overflow用户
提问于 2018-03-30 17:36:04
回答 1查看 69关注 0票数 0

我有一个文本文件,用来作为我正在制作的方向舵指示器的校准文件。(它存储端口和stbd限制以及中心位置)我想在程序启动时调用此文件,以便它具有与以前相同的校准设置。

我可以将这3个数字作为字符串存储在.txt文件中,并知道如何将它们作为列表进行调用。我的想法是在应用程序开始将列表的每个部分定义为一个变量时运行一个函数。

代码语言:javascript
复制
calibrationfile1 = open('calfile.txt','r')
lines = calibrationfile1.readlines()
calvalue1 = lines[0].replace(",","").replace("[","").replace("]","")
calvalue = calvalue1.split()

rudderlimits = calvalue 

port_rudder_limit = rudderlimits[0]
stbd_rudder_limit = rudderlimits[1]
center_position = rudderlimits[2]

我如何在启动时在一个函数中调用它,并使变量在另一个我不想使用'global‘的函数中可用?

我已经制作了一个函数,它是一个校准函数,它创建了这个calfile.txt,并且它可以工作。

感谢您的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2018-03-30 19:02:22

您可以在应用程序的on_start方法上加载文件

代码语言:javascript
复制
class YourApp(App):
    def on_start(self):
          self.calibration_data = your_file_loading_function() # returns a dict?

... # other places in your code
class Popcorn(Widget):
    def on_callback(self):
        port_rudder_limit = App.get_running_app().calibration_data['port_rudder_limit']
        ... # do something....

或来自kv文件

代码语言:javascript
复制
<MyWidget>:
     port_rudder_limit: app.calibration_data['port_rudder_limit']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49571952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档