我正在python中构建一个简单的GUI,里面有一些文本和一个按钮。 我想点击该按钮并打开YouTube视频。
我该怎么做?鼠标事件?是否有像javascript一样的onclick功能?
这是我的代码
from tkinter import*
window = Tk()
window.title("DdP Program")
window.geometry("300x100")
def onClick(event):
label = Label(text="some text")
label.pack()
labelOne = Label(text="A little bit more text")
labelOne.pack()
click = Button(text = "Clica Aqui!", command = onClick)
click.pack()
window.mainloop()
答案 0 :(得分:2)
您可以使用标准库中的webbrowser模块
import webbrowser
url = "http://docs.python.org/library/webbrowser.html"
webbrowser.open(url,new=1)
所以
import webbrowser
from tkinter import *
window = Tk()
window.title("DdP Program")
window.geometry("300x100")
def onClick(x):
webbrowser.open(x,new=1)
label = Label(text="some text")
label.pack()
labelOne = Label(text="A little bit more text")
labelOne.pack()
url = "http://docs.python.org/library/webbrowser.html"
click = Button(text="Clica Aqui!", command=lambda: onClick(url))
click.pack()
window.mainloop()
我们需要提供参数,但我们不能使用command=onClick(url)
,因为它会立即调用该函数(不是单击按钮时)并将其值赋给命令,因此我们可以使用lambda函数包装Onclick函数这个command=lambda: onClick(url)
。单击按钮时将调用Lambda函数,它将使用其参数