我一直在寻找使用标记在标签中建立链接,我已经这样做但是想知道是否有办法更改链接指向的网址
如果我有
Label:
id: sLinksLabel
text: 'Load Up [ref=some]some_link[/ref]'
text_size: self.width, None
size_hint_y: None
pos_hint:{'center_x':0.5, 'y': 0.20}
size: (150, 44)
markup: True
on_ref_press:
import webbrowser
webbrowser.open("somelink.com")
是否可以在标签中的文本更改为链接时更改链接?
即如果标签文字发生变化,就像
self.root.sLinks.text = '[ref=some]some_other_link[/ref]'
我还想过调用类似
的程序def loadlink(self, *args):
if sLinks.text == 'Load Up [ref=some]website[/ref]': #check if nothing has changed load default page
import webbrowser
webbrowser.open("some_link")
else: #text has been changed load new link
link = self.root.sLinks.text #get link from label text
import webbrowser
webbrowser.open(some_other_link)
并将on_ref_press更改为
on_ref_press:
loadlink()
但它表示没有定义loadlink ... grrrr
提前致谢
答案 0 :(得分:2)
on_ref_press
为您提供了args[1]
的引用ID,因此您可以使用它:
Label:
id: sLinksLabel
text: 'Load Up [ref=http://google.com]some_link[/ref]'
text_size: self.width, None
size_hint_y: None
pos_hint:{'center_x':0.5, 'y': 0.20}
size: (150, 44)
markup: True
on_ref_press:
import webbrowser
webbrowser.open(args[1])