首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我做了一个打开Google的按钮。我已经解决了这个问题,但我想知道它为什么会起作用

我做了一个打开Google的按钮。我已经解决了这个问题,但我想知道它为什么会起作用
EN

Stack Overflow用户
提问于 2020-01-13 02:47:41
回答 1查看 67关注 0票数 0

我正在用Tkinter制作一个小程序(实际上是第一个)。这个程序应该有网站的标识,当按下时打开网站。

代码语言:javascript
复制
google_url = 'https://www.google.com'

def OpenUrl():
    webbrowser.open_new(google_url)

button1 = tk.Button(root, command=OpenUrl)

此代码功能(打包/导入所有内容后)

这是之前的代码:

代码语言:javascript
复制
button1 = tk.Button(root, command=webbrowser.open_new('https://www.google.com'))

我是Python新手,所以我真的很想了解为什么这个更改会奏效。是Python解释器做了些什么吗?现在,这并不是我写的所有代码,所以如果您认为我应该显示出来,那么请问我,但是这是允许代码工作的不同之处。(按下按钮时打开Google。以前,当代码运行时,它打开了google,但没有打开tkinter)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 03:31:08

万岁,为你的第一个项目!

您的第一次尝试失败了,因为command arg必须是函数。webbrowser.open_new('https://www.google.com')是一个已经被称为和thusly计算的函数。它现在等于open_new()的返回值(即没什么)。

在单击按钮之前不会计算OpenUrl的内容,因为函数只有在调用时才会运行。lambda (一个未命名的内联函数)也可以工作:

代码语言:javascript
复制
button1 = tk.Button(root, command= lambda: webbrowser.open_new('https://www.google.com'))

编码愉快!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59710033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档