python - 华氏温度到摄氏度转换器的 GUI 窗口执行中的无类型错误
问题描述
from tkinter import *
my_window = Tk()
def converter():
F = float(entry_input.get())
T = (F-32)*5/9
display_Temp["text"] = str(T)
Label(my_window,text="Enter Temperature in Farenheit = ").grid(row=0,column=0)
display_Temp = Label(my_window).grid(row=1,column=1)
entry_input = Entry(my_window).grid(row=0,column=1)
button = Button(my_window,text="Convert to Deg Celcius",command = converter,bd=8,relief="raised").grid(row=1,column=0)
my_window.mainloop()
我在 GUI 窗口中输入了 20 F,该窗口用于将华氏度值转换为摄氏度。但是,当我按下转换器按钮时,它会给出以下错误消息: AttributeError: 'NoneType' object has no attribute 'get'
请参考图片以了解错误
解决方案
几何管理器 ( grid
, pack
, place
) 返回无;您不应该在与您的小部件相同的行上分配grid
。
import tkinter as tk # <-- avoid star imports
def converter():
F = float(entry_input.get())
T = (F - 32) * 5 / 9
display_Temp["text"] = str(T)
my_window = tk.Tk()
tk.Label(my_window, text="Enter Temperature in Farenheit = ").grid(row=0, column=0)
display_Temp = tk.Label(my_window)
display_Temp.grid(row=1, column=1)
entry_input = tk.Entry(my_window)
entry_input.grid(row=0, column=1)
button = tk.Button(my_window, text="Convert to Deg Celcius", command=converter, bd=8, relief="raised")
button.grid(row=1, column=0)
my_window.mainloop()
推荐阅读
- java - 无法在游戏开发项目的 JavaFx 中使用 Button 在 3 个不同的背景之间切换
- algorithm - 使用图表建模家庭关系
- ionic-framework - 在 Ionic 4 中查看项目详细信息时遇到问题
- django - Django (admin.e104) 必须继承自 'InlineModelAdmin'
- javascript - 获取WebSocket连接的连接IP
- python - 可以优化 numba 函数中的这个循环以更快地运行吗?
- cordova - 运行cordova run android时如何修复只读文件系统?
- c++ - Libreoffice C++ 扩展快捷方式
- git - git checkout 丢失的文件
- react-native - Expo:与 expo-Constants 相关的问题 Sdk33