Mig*_*uel 1 python user-interface tkinter
我正在用 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()
Run Code Online (Sandbox Code Playgroud)
您可以使用标准库中的webbrowser模块
import webbrowser
url = "http://docs.python.org/library/webbrowser.html"
webbrowser.open(url,new=1)
Run Code Online (Sandbox Code Playgroud)
所以
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()
Run Code Online (Sandbox Code Playgroud)
我们需要提供参数,但我们不能使用,command=onClick(url)因为它会立即调用该函数(不是在单击按钮时)并将其值分配给命令,因此我们可以像这样用 lambda 函数包装 Onclick 函数command=lambda: onClick(url)。单击按钮时将调用 Lambda 函数,并使用其参数调用 onClick 函数