我试图从我的.kv调用一个函数,但是我找不到正确的方法来引用绘制小部件的函数之外的函数。我试过了根.dostuff起源。。。自我。。。我的应用程序。。。应用程序。。。我可以把这个函数放到Widgets类中,但这会破坏其他东西。。。你知道吗
你知道吗我的应用程序.py你知道吗
class Widgets(Widget):
pass
def dostuff(x):
print(x)
class MyApp(App):
def build(self):
global w
print("Build")
w = Widgets()
return w
if __name__ == "__main__":
MyApp().run()
你知道吗百万千瓦地址:
Button:
text: "Press Me"
on_press: dostuff(1)
你有两个问题。第一个是函数
dostuff
没有在kv文件中定义。你可以用#:import dostuff MyApp.dostuff
导入它,或者把它变成app类的方法,然后用app.dostuff()
调用它。你知道吗此外,您的kv文件实际上没有加载。如果要加载它而不显示它将生成的按钮,那么您的示例实际上不会演示您的问题。将文件命名为
my.kv
以使其自动加载,并且不要从build method返回任何内容以使您的按钮用作根小部件。你知道吗您还可以
define on_press() outside the kv file
:你知道吗my.kv地址:
或者,用
on_press() inside the kv file
:你知道吗my.kv地址:
以下是
root
和app
在kv文件中的工作方式:你知道吗my.kv地址:
或者,您可以
put the function inside the App class
:你知道吗my.kv地址:
好吧,别让函数那样做。你知道吗
相关问题 更多 >
编程相关推荐