Python 如何将链接正确连接到按钮?
我正在尝试将链接附加到一个按钮,该按钮将在单击时打开Python 如何将链接正确连接到按钮?,python,tkinter,Python,Tkinter,我正在尝试将链接附加到一个按钮,该按钮将在单击时打开 from Tkinter import * import webbrowser class Window(Frame): def __init__(self, master=None): Frame.__init__(self, master) self.master = master self.init_window() def ini
from Tkinter import *
import webbrowser
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
self.master.title("Anonymous Button Box")
self.pack(fill=BOTH, expand=1)
_Button = Button(self, text="Don't Click", command=webbrowser.open("http://example.com", new=2, autoraise="True"))
_Click = Button(self, text="Click")
_Click.place(x=80, y=0)
_Button.place(x=0, y=0)
root = Tk()
root.geometry("300x300")
app = Window(root)
root.mainloop()
当我运行这个程序时,它会在框本身弹出之前自动打开链接。我将如何编写它,使链接仅在按下按钮时运行?
我是否会创建另一个函数来打开链接,然后在按下按钮时命令它使用该函数?我将按钮命令包装在lambda函数中。所以我的按钮看起来像这样:
`_Button = Button(self, text="Don't Click", command=lambda: webbrowser.open("http://example.com", new=2, autoraise="True"))`
根据经验,按钮命令应该调用不接受任何参数的函数。通过这样做,编写命令、创建按钮和调试程序变得更加容易 因此,在本例中,我将创建一个名为open\u browser或on\u dont\u click\u button之类的函数:
def open_browser(self):
webbrowser.open("http://example.com", new=2, autoraise="True")
然后,按钮变得更容易实现:
_Button = Button(..., command=open_browser, ...)
编写一个函数,在浏览器中打开链接,我们称之为open\u link。将代码更改为以下命令=self.open\u link。