我正在使用python和tkinter开发一个项目,其中文本小部件中的内容 根据程序。现在在我的文本小部件中,我添加了许多URL。和单击后,web浏览器应打开。你知道吗
http://effbot.org/zone/tkinter-text-hyperlink.htm我引用它是为了在我的代码。但是现在我的问题是,每当文本小部件上显示url时,浏览器就会打开,而不必点击它。你知道吗
这是我的代码。
def click1(self,url):
webbrowser.open(url)
restitle,resthumb,resurl=printit()#title,thumbnailimage,url array
while restitle:
raw_data = urllib.request.urlopen(resthumb[0]).read()
tim = PIL.Image.open(io.BytesIO(raw_data))
tim = tim.resize((100, 100), PIL.Image.ANTIALIAS)
timage = ImageTk.PhotoImage(tim)
Lb1.image_create(END, image=timage)
curl=resurl[0]
Lb1.update()
images.append(timage)
Lb1.insert(END,restitle,hyperlink.add(click1(resurl[0])))#Passing url
Lb1.insert(END,"\n")
restitle.pop(0)
resurl.pop(0)
resthumb.pop(0)
我的问题: 我只需要知道如何在点击一个特定的文本(超链接)时打开浏览器,而不是当它们被添加到文本小部件时。我是python的新手,对于代码中的任何错误,我深表歉意片段。谢谢提前。你知道吗
这里的问题是,您不能将函数直接传递给这个方法
hyperlink.add
,因为您使用参数调用它,所以它将被执行。(请注意,在链接中显示的示例中,我们只传递函数的引用而不调用它)。你知道吗如果所有行的参数都相同,则可以使用lambda表达式,但url每次都需要更改,因此,需要使用
partial
工具:相关问题 更多 >
编程相关推荐