我该如何在Kivy中创建一个能够打开Web浏览器的链接?我试过在标签中直接放置网址,但当然不起作用。特别地,我希望它能够在安卓应用程序上正常工作,并允许用户点击它以打开到该链接的Web浏览器。
我该如何在Kivy中创建一个能够打开Web浏览器的链接?我试过在标签中直接放置网址,但当然不起作用。特别地,我希望它能够在安卓应用程序上正常工作,并允许用户点击它以打开到该链接的Web浏览器。
使用webbrowser,它已经可以在桌面上使用了,而我们的iOS / Android工具链已经为其实现了后端。也就是说,使用它,在任何地方都可以正常工作:
import webbrowser
webbrowser.open("http://kivy.org/")
现在我已经编写了完美的超链接代码...你只需要使用实例和函数,以下是代码:
#import necessary library
import webbrowser
def any_Function(instance):
webbrowser.open('http://www.anywebsite.domain')
class TutorialApp(App):
def build(self):
btn1 = Button(text='Open Link' , size=(200,50), size_hint=(None, None))
btn1.bind(on_press=any_Function)
#Bind function with button
return btn1
if __name__ == '__main__':
TutorialApp().run()
#import necessary library
from tkinter import Button
import webbrowser
from kivy.uix.button import Button
from kivy.app import App
def any_Function(instance):
webbrowser.open('http://www.anywebsite.domain')
class TutorialApp(App):
def build(self):
btn1 = Button(text='Open Link' , size=(200,50), size_hint=(None, None))
btn1.bind(on_press=any_Function)
#Bind function with button
return btn1
if __name__ == '__main__':
TutorialApp().run()
我知道这是一个旧帖子,但我花了很长时间才解决了这个问题,所以我想也许将来的某个人会受益。虽然还不完美,但我制作了一个超链接小部件。
from kivy.uix.label import Label
import webbrowser
"""A kivy widget that implements a hyperlink"""
class Hyperlink(Label):
def __init__(self, **kwargs):
self.target = kwargs.pop('target')
kwargs['markup'] = True
kwargs['color'] = (0,0,1,1)
kwargs['text'] = "[u][ref=link]{}[/ref][/u]".format(kwargs['text'])
kwargs['on_ref_press'] = self.link
super().__init__(**kwargs)
def link(self, *args):
webbrowser.open(self.target)