我必須用Tkinter創建一個Python函數計算器,它可以處理2個變量並提供退出。還需要有一個錯誤消息。我已經制定了計算器並定義了功能,但沒有任何反應。此外,任何想法如何添加在錯誤消息。現在當你按下一個按鈕時,錯誤消息(插入函數的名稱)缺少1個需要的位置參數:'app'。我完全陷入困境,無法弄清楚。我顯然對此很新。我相信這很簡單。謝謝!Python中的數學函數Tkinter和錯誤消息
from tkinter import *
from math import *
app = Tk()
app.title('Calculator')
app.geometry('400x500')
Label(app, text = "Welcome to Calculator 2013. Enjoy!").pack(padx = 10, pady = 10)
Label(app, text = "Enter both of your variables and then pick your computations below.").pack(pady = 10)
global var1, var2, total
Label(text='First Variable').pack()
var1 = Entry()
var1.insert(0,0)
var1.pack()
Label(text='Final Variable').pack()
var2 = Entry()
var2.insert(0,0)
var2.pack()
Label(text='Total').pack()
Total = Entry()
Total.pack()
def add():
global var1, var2, total
first = float(var1.get())
second = float(entry.get())
total = first + second
total.delete(0,END)
total.insert(0, str(total))
def subtract(app):
global var1, var2, total
first = float(var1.get())
second = float(var2.get())
total = first - second
total.delete(0,END)
total.insert(0, str(total))
def divide(app):
global var1, var2, total
first = float(var1.get())
second = float(var2.get())
total = first/second
total.delete(0,END)
total.insert(0, str(total))
def multiply(app):
global var1, var2, total
first = float(var1.get())
second = float(var2.get())
total = first * second
total.delete(0,END)
total.insert(0, str(total))
def clear(app):
global var1, var2, total
var1.delete(0,END)
var2.delete(0,END)
total.delete(0,END)
def quit(app):
app.destroy()
b_add = Button(app, text="+", bg="green", fg="black", width = 5, font=12, command = add).pack(side=LEFT)
b_sub = Button(app, text="-", bg="red", fg="white", width = 5, font=12, command = subtract).pack(side=LEFT)
b_sub = Button(app, text="*", bg="blue", fg="white", width = 5, font=12, command = multiply).pack(side=LEFT)
b_div = Button(app, text="/", bg="yellow", fg="black", width = 5, font=12, command = divide).pack(side=LEFT)
b_clear = Button(app, text="Clear", bg="black", fg="white", width = 5, font=12, command = clear).pack(side=LEFT)
b_exit = Button(app, text="Exit?", bg="white", fg="red", width = 40, font=12, command = quit).pack(side=LEFT)
app.protocol("WM_DELETE_WINDOW", quit)
app.mainloop()
歡迎的StackOverflow!感謝您發佈您的代碼,但請在您的問題中多加一點說明:您有什麼問題,您期望得到什麼結果,以及[您嘗試過什麼](http://whathaveyoutried.com)到目前爲止?通過[問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)將幫助我們更好地回答你的問題。謝謝! –
@ChristianTernus接受了馬丁的建議? ;) –