用Python写一个计算器GUI程序
时间: 2023-05-14 21:06:15 浏览: 99
使用Python实现一个计算器GUI非常容易。最简单的方法是使用Tkinter库,它提供了一些基本的GUI元素,如按钮,文本框,标签等,来创建简单的图形用户界面。可以使用这些GUI元素来创建一个计算器,用户可以输入数字,然后选择加减乘除等运算符,最后点击一个按钮来计算结果。
相关问题
请用Python写一个计算器GUI程序,并给出代码
可以使用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()
帮我用python写一个带GUI的计算器的程序
好的,这里是一个简单的 Python GUI 计算器程序,使用 tkinter 模块构建:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("简单计算器")
# 创建输入框
self.entry = tk.Entry(master, width=20, font=('Arial', 16))
self.entry.grid(row=0, column=0, columnspan=4, padx=5, pady=5)
# 创建数字按钮
for i in range(10):
tk.Button(master, text=str(i), width=5, height=2, command=lambda num=i: self.button_click(str(num))).grid(row=(i//3)+1, column=i%3, padx=5, pady=5)
# 创建操作符按钮
tk.Button(master, text='+', width=5, height=2, command=lambda: self.button_click('+')).grid(row=1, column=3, padx=5, pady=5)
tk.Button(master, text='-', width=5, height=2, command=lambda: self.button_click('-')).grid(row=2, column=3, padx=5, pady=5)
tk.Button(master, text='*', width=5, height=2, command=lambda: self.button_click('*')).grid(row=3, column=3, padx=5, pady=5)
tk.Button(master, text='/', width=5, height=2, command=lambda: self.button_click('/')).grid(row=4, column=3, padx=5, pady=5)
# 创建功能按钮
tk.Button(master, text='AC', width=5, height=2, command=self.clear_entry).grid(row=1, column=0, padx=5, pady=5)
tk.Button(master, text='←', width=5, height=2, command=self.delete_entry).grid(row=1, column=1, padx=5, pady=5)
tk.Button(master, text='=', width=5, height=2, command=self.calculate).grid(row=4, column=2, padx=5, pady=5)
tk.Button(master, text='.', width=5, height=2, command=lambda: self.button_click('.')).grid(row=4, column=1, padx=5, pady=5)
# 按钮点击事件
def button_click(self, num):
self.entry.insert(tk.END, num)
# 清空输入框
def clear_entry(self):
self.entry.delete(0, tk.END)
# 删除输入框最后一个字符
def delete_entry(self):
self.entry.delete(len(self.entry.get())-1, tk.END)
# 计算结果
def calculate(self):
expression = self.entry.get()
try:
result = eval(expression)
self.entry.delete(0, tk.END)
self.entry.insert(0, result)
except:
self.clear_entry()
self.entry.insert(0, "Error")
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
```
这个程序将创建一个简单的 GUI 界面,包括一个输入框和各种数字、操作符、功能按钮。你可以点击按钮输入数字和运算符,也可以点击功能按钮进行清空、删除和计算。程序会根据输入的表达式计算并输出结果,如果出现错误,会在输入框中显示 "Error"。