我有一個在我的Python代碼中的kv段。無法在Kivy中爲動畫選擇ID
我想要做的是選擇此按鈕併爲其設置動畫。動畫本身是通過按NoButton
觸發的。 NoButton
有一個本身就是根小部件類的子類。不幸的是,儘管已經能夠成功地引用id的kv代碼,我似乎無法實際使用它。
按NoButton
的結果絕對沒有。沒有錯誤,沒有。如果我嘗試打印ID是我得到的是它引用了按鈕的位置:
<__main__.MainButton object at 0x7fd5db0d5590>
下面是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
和蟒蛇:
class MainScreen(Screen):
pass
class MainButton(Button):
pass
class NoButton(ButtonBehavior, Image, MainClass):
def on_press(self):
anim = Animation(x=300, y=300)
anim.start(MainButton())
print(MainScreen().ids.pics)
你會注意到anim.start
引用類而不是id在這裏。不幸的是它產生了相同的結果;一點都沒有。
創建pics
作爲對象屬性並聲明在kv中也無法工作。
我真的在這裏完全無能爲力。我已經瀏覽了幾個稍微類似的問題,但在深入kivy開發的幫助/指南方面實際上並不多。
我使用Python 3.5.3和1.9.2 Kivy,裝置0
希望瞭解在正確的方向:)
main_screen不能被識別:\ – DevRobot
「* main_screen *」只是一個例子,沒有一個工作的例子,它很難猜測你的應用程序的流程...... –
這就是所有涉及我想要做的事情。我只是不知道如何從kv代碼成功訪問id – DevRobot