请用Python写一个计算器GUI程序,并给出代码
时间: 2023-03-09 07:08:58 浏览: 54
可以使用Python的tkinter模块来编写一个计算器GUI程序。下面是一个示例代码:from tkinter import *root = Tk()root.title("Calculator")
root.geometry('400x400')text_input = StringVar()
operator = ""def click_button(number):
global operator
operator = operator + str(number)
text_input.set(operator)def clear_button():
global operator
operator = ""
text_input.set("")def equal_button():
global operator
sumup = str(eval(operator))
text_input.set(sumup)
operator = ""text_display = Entry(root, font=('arial', 20, 'bold'), textvariable=text_input, bd=30, insertwidth=4, bg="powder blue",
justify='right').grid(columnspan=4)button1 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="1", bg="powder blue",
command=lambda: click_button(1)).grid(row=1, column=0)button2 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="2", bg="powder blue",
command=lambda: click_button(2)).grid(row=1, column=1)button3 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="3", bg="powder blue",
command=lambda: click_button(3)).grid(row=1, column=2)button4 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="4", bg="powder blue",
command=lambda: click_button(4)).grid(row=2, column=0)button5 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="5", bg="powder blue",
command=lambda: click_button(5)).grid(row=2, column=1)button6 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="6", bg="powder blue",
command=lambda: click_button(6)).grid(row=2, column=2)button7 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="7", bg="powder blue",
command=lambda: click_button(7)).grid(row=3, column=0)button8 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="8", bg="powder blue",
command=lambda: click_button(8)).grid(row=3, column=1)button9 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="9", bg="powder blue",
command=lambda: click_button(9)).grid(row=3, column=2)button0 = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="0", bg="powder blue",
command=lambda: click_button(0)).grid(row=4, column=0)button_plus = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="+", bg="powder blue",
command=lambda: click_button("+")).grid(row=1, column=3)button_minus = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="-", bg="powder blue",
command=lambda: click_button("-")).grid(row=2, column=3)button_divide = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="/", bg="powder blue",
command=lambda: click_button("/")).grid(row=3, column=3)button_multiply = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="*", bg="powder blue",
command=lambda: click_button("*")).grid(row=4, column=3)button_clear = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="C", bg="powder blue",
command=clear_button).grid(row=4, column=1)button_equal = Button(root, padx=16, pady=16, bd=8, fg="black", font=('arial', 20, 'bold'), text="=", bg="powder blue",
command=equal_button).grid(row=4, column=2)root.mainloop()