Android 无法为Kivy中的动画选择id
我的python代码中有一个kv段 我想做的是选择这个按钮并设置它的动画。按Android 无法为Kivy中的动画选择id,android,python,python-3.x,kivy,kivy-language,Android,Python,Python 3.x,Kivy,Kivy Language,我的python代码中有一个kv段 我想做的是选择这个按钮并设置它的动画。按NoButton按钮可触发动画本身NoButton本身有一个类,它是根小部件类的子类。不幸的是,尽管我已经成功地从kv代码中引用了id,但我似乎无法真正利用它 按NoButton绝对不会产生任何结果。没有错误,什么都没有。如果我尝试打印id,我得到的是它引用的按钮的位置: 以下是kv代码的一个片段: <MainClass>: <MainScreen>: id: main Anc
NoButton
按钮可触发动画本身NoButton
本身有一个类,它是根小部件类的子类。不幸的是,尽管我已经成功地从kv代码中引用了id,但我似乎无法真正利用它
按NoButton
绝对不会产生任何结果。没有错误,什么都没有。如果我尝试打印id,我得到的是它引用的按钮的位置:
以下是kv代码的一个片段:
<MainClass>:
<MainScreen>:
id: main
AnchorLayout:
size: root.size
anchor_x: 'center'
anchor_y: 'center'
padding: 0, 0, 0, 50
MainButton:
id: pics
rgba: 1,5,1,1
size_hint_x: None
size_hint_y: None
height: main.height / 1.5
width: main.width / 1.5
您会注意到anim.start
在这里引用类而不是id。不幸的是,它产生了同样的结果;什么都没有
创建pics
作为对象属性并声明in-kv也无法工作
我在这里真的完全不懂。我已经看过了一些稍微相似的问题,但是对于深入开发kivy的帮助/指南来说,这些问题实在是太少了
我使用的是Python 3.5.3和Kivy 1.9.2-dev0
如果有任何正确方向的帮助/建议或指针,我们将不胜感激:)您正在创建新对象,而不是引用现有对象
anim.start(MainButton()) #new MainButton Object :(
print(MainScreen().ids.pics) #also a new MainScreen object
我在代码中看不到NoButton在哪里,但应该在主屏幕instance上保持,并从中提取MainButtoninstance
main_button = main_screen.ids.pics
ani.start(main_button)
如果你发布一个可运行的示例我可能会帮你更多,我想…主屏幕不被识别:\“主屏幕”只是一个示例,如果没有一个运行示例,很难猜测你的应用程序流…这就是我想做的所有事情。我只是不知道如何从kv代码成功访问id
main_button = main_screen.ids.pics
ani.start(main_button)