为什么打开该文件时Python tkinter崩溃?

问题描述

谁知道为什么运行此代码时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()的应用程序将无法启动。就像该应用程序始终处于关闭状态一样,您必须将其保持在循环中,以便它在关闭时一直保持运行状态(退出循环)

希望它清除了错误

欢呼

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...