问题描述
谁知道为什么运行此代码时Python Launcher崩溃?有没有明显的东西我以前想念的那样。从终端在Mac上运行。
甚至都不会抛出错误,所以我不确定到底发生了什么。
我需要更新tkinter还是仅仅是引起问题的功能之一?
import tkinter as tk
import requests
import json
from PIL import ImageTk,Image
root = tk.Tk()
root.geometry("800x600")
# root.configure(bg = 'black')
# root.iconbitmap('./images/rain_jpeg.jpg')
Images = dict()
def display_photo(row=0,column=0):
if weather_main + '_tk' not in [*Images]:
image_1 = ImageTk.PhotoImage(Image.open("./images/" + weather_main + ".jpg"))
photo = tk.Label(root,image = image_1)
photo.image = image_1
photo.pack()
text_runner()
def city_clicker_runner():
global weather_main
global city
city = e.get()
request_address = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&units=metric&appid=0a0699452f695d2f9f82b65af024a134"
api_request = requests.get(request_address)
api = json.loads(api_request.content)
mylabel2 = tk.Label(root,text = 'URL=' + request_address)
# mylabel2.configure(foreground="white")
mylabel2.pack()
coordinates = api["coord"]
weather_main = api["weather"][0]["main"]
weather_description = api["weather"][0]["description"]
temp = int(api["main"]["temp"])
mainy = tk.Label(root,text = "the weather is " + weather_main)
mainy.pack()
display_photo()
def text_runner():
running = tk.Label(root,text = 'we are running')
running.pack()
mylabel = tk.Label(root,text = "The weather in " + city + " is " + weather_main + " and the temperature is " + str(temp),font=("Helvetica",20))
mylabel.pack()
e = tk.Entry(root)
e.pack()
city_clicker = tk.Button(root,text = "GO",command=city_clicker_runner)
city_clicker.pack()
解决方法
没有root.mainloop()
的应用程序将无法启动。就像该应用程序始终处于关闭状态一样,您必须将其保持在循环中,以便它在关闭时一直保持运行状态(退出循环)
希望它清除了错误
欢呼