我正在用Tkinter制作一个小程序(实际上是第一个)。这个程序应该有网站的标识,当按下时打开网站。
google_url = 'https://www.google.com'
def OpenUrl():
webbrowser.open_new(google_url)
button1 = tk.Button(root, command=OpenUrl)此代码功能(打包/导入所有内容后)
这是之前的代码:
button1 = tk.Button(root, command=webbrowser.open_new('https://www.google.com'))我是Python新手,所以我真的很想了解为什么这个更改会奏效。是Python解释器做了些什么吗?现在,这并不是我写的所有代码,所以如果您认为我应该显示出来,那么请问我,但是这是允许代码工作的不同之处。(按下按钮时打开Google。以前,当代码运行时,它打开了google,但没有打开tkinter)
发布于 2020-01-13 03:31:08
万岁,为你的第一个项目!
您的第一次尝试失败了,因为command arg必须是函数。webbrowser.open_new('https://www.google.com')是一个已经被称为和thusly计算的函数。它现在等于open_new()的返回值(即没什么)。
在单击按钮之前不会计算OpenUrl的内容,因为函数只有在调用时才会运行。lambda (一个未命名的内联函数)也可以工作:
button1 = tk.Button(root, command= lambda: webbrowser.open_new('https://www.google.com'))编码愉快!
https://stackoverflow.com/questions/59710033
复制相似问题