【问题标题】:How to pass arguments between scripts and functions如何在脚本和函数之间传递参数
【发布时间】:2017-08-28 14:34:53
【问题描述】:

我正在制作一个 kivy 应用程序,我一直在寻找一种将变量从一个脚本(脚本 1)传递到另一个(脚本 2)的方法。一旦变量现在位于脚本 2 中,我想将它们从一个函数传递到另一个函数,然后将变量添加到我的 kivy 应用程序的列表视图中。 Script 1.py 发送的数据来自 Script 1.kv。

code snippet

或者有没有更简单的方法将输入数据从 Script1.kv 发送到 Script2.py 提前谢谢你

【问题讨论】:

  • 我的意思是,有很多方法可以做事。它是您的代码,因此您可以定义方法的定义方式。话虽这么说,你可能有一些运气传递地图,或者为了更好的定义,你可以使用像 **kwargs 之类的东西,这将允许函数维护其参数,并从本质上获取地图并将它们分解到正确的位置只要参数名称匹配等就起作用
  • 查看您的脚本后,为什么不在您认为合适的地方创建一个屏幕对象,然后在这两个类中都有一个解析器。

标签: python-3.x kivy kivy-language


【解决方案1】:

由于您使用 Screen,您可以使用全局 ScreenManager 来获取对它们的引用

from script2 import Results

class Sender(Screen):
    ...
    def send(self):
        r = sm.get_screen('results')
        r.get(start, end price)
sm = None

class YourApp(App):
    def build(self):
        global sm
        sm = ScreenManager()
        sm.add_widget(Results(name='results'))
        sm.add_widget(Sender(name='sender'))
        return sm

【讨论】:

    猜你喜欢
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多