Kivy外部规则固有

2024-09-27 23:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想指定一个特殊的按钮,这样我就不必调整我使用的每个按钮,但是我希望它的事件触发一个不同类中的函数。你知道吗

你知道吗主.py你知道吗

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.stacklayout import StackLayout
from kivy.properties import ObjectProperty


class FancyButton(Button):
    imp = ObjectProperty(None)


class Important(StackLayout):

    def NoInspiration(self, smile):
        print("Received: {}".format(smile))


class TestApp(App):
    def build(self):
        pass

if __name__ == '__main__':
    TestApp().run()

你知道吗试验电压(kv)(正在工作)

#:kivy 1.9.0

<FancyButton@Button>:
    on_release: self.parent.NoInspiration(':)')


<Important>:
    id: imp

    FancyButton:
        text: "smiley"

BoxLayout:
    Important

Received: :)

你知道吗试验电压(kv)(不工作)

#:kivy 1.9.0

<FancyButton>:
    on_release: self.parent.NoInspiration(':)')


<Important>:
    id: imp

    BoxLayout:
        FancyButton:
            text: "smiley"

BoxLayout:
    Important

第二天试验电压(kv)我在FancyButton前面加了“BoxLayout:”,突然我发现了一个错误:

AttributeError: 'BoxLayout' object has no attribute 'NoInspiration'

问题

  • 为什么会这样自我父母在第二个示例中,仅指直接父级而不是<;Important>?你知道吗
  • 如何在发布时:在<;FancyButton>;中指向函数NoInspiration(),同时将函数保留在<;Important>;中;?你知道吗

后续问题


Tags: 函数fromimportltselfbuttonclass电压

热门问题