【发布时间】:2018-08-11 20:08:13
【问题描述】:
我正在编写一个使用 GUI 计算每加仑英里数 (MPG) 的 Python 程序。 下面的代码包含一个名为 calc_mpg 的函数,该函数旨在使用来自主函数 'miles_entry' Entry 和 'gallons_entry' Entry 的输入来计算单击“calc_button”时车辆的每加仑英里数。
单击按钮时,我收到一条错误消息,提示未定义“miles_entry”。有没有一种方法必须重组或重新设计此代码才能按预期运行。
import tkinter
import tkinter.messagebox
def main():
main_window = tkinter.Tk()
upper_frame = tkinter.Frame(main_window)
lower_frame = tkinter.Frame(main_window)
label1 = tkinter.Label(upper_frame, text='This program calculates MPG')
miles_prompt = tkinter.Label(upper_frame, text='How many miles can be
driven with full gastank?')
miles_entry = tkinter.Entry(upper_frame, width = 10)
gallons_prompt = tkinter.Label(upper_frame, text='How many gallons of
gas can the tank hold?')
gallons_entry = tkinter.Entry(upper_frame, width = 10)
miles_prompt.pack()
miles_entry.pack()
gallons_prompt.pack()
gallons_entry.pack()
calc_button = tkinter.Button(lower_frame, text='Calculate MPG',
command=calc_mpg)
quit_button = tkinter.Button(lower_frame, text='Quit',
command=main_window.destroy)
upper_frame.pack()
lower_frame.pack()
calc_button.pack()
quit_button.pack()
tkinter.mainloop()
def calc_mpg():
miles = float(miles_entry.get())
gallons = float(gallons_entry.get())
mpg = miles / gallons
tkinter.messagebox.showinfo('The miles per gallon for this vehicle is:'
+ mpg + 'mpg.')
main()
【问题讨论】:
标签: python function user-interface tkinter