Python 使用tkinter的OpenWeatherMap pyowm存在问题

Python 使用tkinter的OpenWeatherMap pyowm存在问题,python,tkinter,Python,Tkinter,我想写一个小天气应用程序。我正在使用pyowm和tkinter模块,我有一个小问题,我不知道如何解决。帮助我,请:)我想天气结果显示在标签下的按钮。 这是我的代码: from tkinter import * import pyowm def open_weather_map(): owm = pyowm.OWM('061c88a24ac0ad18ae22534accea424a') city_name = entry1.get() observation = owm

我想写一个小天气应用程序。我正在使用pyowm和tkinter模块,我有一个小问题,我不知道如何解决。帮助我,请:)我想天气结果显示在标签下的按钮。 这是我的代码:

from tkinter import *
import pyowm


def open_weather_map():
    owm = pyowm.OWM('061c88a24ac0ad18ae22534accea424a')
    city_name = entry1.get()
    observation = owm.weather_at_place()
    w = observation.get_weather()
    temp = w.get_temperature(unit = 'celsius')
    label1['text'] = temp

window = Tk()
window.geometry('400x500')
window.title('Weather')

entry1 = Entry(window, width = 25, font = ('Arial', 14))
entry1.pack()

button1 = Button(window, text = 'Submit', font = ('Arial', 16))
button1.pack()

label1 = Label(window, font = ('Arial', 20, 'bold'))
label1.pack()

button1.bind("<Button-1>", open_weather_map)
window.mainloop()

Tkinter自动将事件参数传递给事件处理程序。您需要将
open\u weather\u map()
的定义更改为:

def开放天气图(事件):
或者,您可以保持定义不变,删除

button1.bind(“,打开天气图)
并将
command=open\u weather\u map
添加到
按钮1

button1=按钮(窗口,文本='Submit',字体=('Arial',16),命令=打开天气图)

更改为
def open\u weather\u map(事件):
。请仔细阅读,非常感谢
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\asgor\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
TypeError: open_weather_map() takes 0 positional arguments but 1 was given