Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法为Kivy中的动画选择id_Android_Python_Python 3.x_Kivy_Kivy Language - Fatal编程技术网

Android 无法为Kivy中的动画选择id

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

我的python代码中有一个kv段

我想做的是选择这个按钮并设置它的动画。按
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)