我有一個(gè) kv 語(yǔ)言的標(biāo)簽背景圖像,但在 python 中重新編輯它,為我的標(biāo)簽添加 HoverBehavior 屬性。曾是:<RockLayout>canvas:? ? Rectangle:? ? ? ? pos: self.pos? ? ? ? size: self.size? ? ? ? source: 'data/images/gui_elements/rock_label.png'變成:class RockLayout(FloatLayout, HoverBehavior):? # BoxLayoutdef __init__(self, widget, **kwargs):? ? super().__init__(**kwargs)? ? widget.size_hint = (.8, .8)? ? widget.pos_hint = ({'center_x': .5, 'center_y': .52})? ? self.add_widget(widget)? ? with self.canvas.before:? ? ? ? Rectangle(source='data/images/gui_elements/rock_label.png', pos=self.pos, size=self.size)def on_enter(self, *args):? ? self.canvas.before.clear()? ? with self.canvas.before:? ? ? ? Rectangle(source='data/images/gui_elements/rock_label_hover.png', pos=self.pos, size=self.size)def on_leave(self, *args):? ? self.canvas.before.clear()? ? with self.canvas.before:? ? ? ? Rectangle(source='data/images/gui_elements/rock_label.png', pos=self.pos, size=self.size)這導(dǎo)致canvas.before中的self.pos在初始化時(shí)不會(huì)更新,并且self.pos等于 0。當(dāng)我調(diào)整窗口大小時(shí),圖像的位置不會(huì)改變。如何在 python 中而不是 .kv 語(yǔ)言中聲明背景圖像?現(xiàn)在就發(fā)生了當(dāng)我調(diào)整窗口大小時(shí) self.pos 沒有更新我需要得到什么如何在python中正確使用kivylayuot背景圖像?
1 回答

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
def on_size(self, *args): self.bg.size = self.size self.bg.pos = self.pos
添加回答
舉報(bào)
0/150
提交
取消