kivy label也可以触发事件,为什么只有我这么无聊学垃圾kivy
""" 在通过ref标记一段文本后点击这段文本就可以触发'on_ref_press'事件,在该事件中调用相关的回调函数去处理业务逻辑即可 一定记得markup=True """ from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.label import Label from kivy.lang import Builder import webbrowser Builder.load_string(""" """) class LabelBoxLayout(BoxLayout): def __init__(self): super().__init__() label_ref=Label( # text="打开百度网页", text="open [color=#FF0000][ref=baidu]baidu[/ref][/color]", markup=True, ) label_ref.bind(on_ref_press=self.open_baidu) # 触发点击事件 self.add_widget(label_ref) @staticmethod def open_baidu(*args): webbrowser.open('www.baidu.com') class LabelApp(App): def build(self): return LabelBoxLayout() if __name__ == '__main__': from kivy.core.window import Window Window.clearcolor=[1,1,1,1] # 设置主窗口颜色 LabelApp().run()