【问题标题】:TypeError: Openurl() missing 1 required positional argument: 'url'类型错误:Openurl() 缺少 1 个必需的位置参数:'url'
【发布时间】:2017-11-30 10:41:57
【问题描述】:

一切正常,但是当我单击按钮时,它给了我一个似乎无法修复的错误:

TypeError: Openurl() 缺少 1 个必需的位置参数:'url'

这是代码

from tkinter import *

from tkinter import ttk
import webbrowser

root = Tk()

url = 'mylink.com/lol'
def Openurl(url):

  w = Label(root, text="Where can I take you?")
  w.pack()

button = Button(root, text="Open Owners Profile #1", command=Openurl)
button.pack()
root.mainloop()

【问题讨论】:

  • 显然你需要为 Openurl 函数提供一个 url 但你没有。
  • 我不明白?
  • 你只能在函数不包含任何参数时使用command = Openurl。因为Openurl(url) 有一个参数,所以你必须向函数传递一些东西。在您的情况下,您需要使用command = lambda: Openurl(url)。从你对 taras 的评论来看,我认为你可能并不完全理解函数是如何工作的。
  • 伙计们,我是一个新手,正在努力制作我的第一个应用程序..
  • 伙计们,我是一个新手,正在努力制作我的第一个应用程序。请帮助我。好的,我设法创建了另一个类似的函数,但是。 button2 没有出现。请不要给我负面的名声。我是这个论坛的新手,0 知识。

标签: python tkinter


【解决方案1】:

您的Openurl 函数接受一个您没有传入的参数url

这应该可以工作

button = Button(root, text="Open Owners Profile #1", command=lambda: Openurl(url))

【讨论】:

  • 点击它会打印标签。知道为什么吗? :c
  • 这就是你要它做的事情。 command 参数接受单击按钮时调用的函数。
猜你喜欢
  • 2020-04-18
  • 2018-10-29
  • 2022-01-11
  • 1970-01-01
  • 2018-09-12
  • 2021-08-05
  • 2021-07-06
  • 2021-08-05
相关资源
最近更新 更多