📅  最后修改于: 2023-12-03 15:08:56.804000             🧑  作者: Mango
Python是一种强大的编程语言,它可以用来制作桌面应用程序,包括计算器。在本文中,我们将介绍如何使用Python创建一个基本的计算器。
在开始此项目之前,请确保您已在计算机上安装了Python。您可以从Python官方网站下载安装程序:https://www.python.org/downloads/
安装Python后,您可以通过在终端中输入以下命令来验证Python是否已正确安装:
python --version
如果Python已正确安装,您将看到Python版本号的输出。
我们将使用Python tkinter库来创建GUI。 tkinter是Python标准的GUI库,并且非常易于使用。您可以通过输入以下命令来安装它:
pip install tkinter
以下是创建一个窗口的示例代码:
from tkinter import *
root = Tk() #创建窗口对象
root.mainloop() #让窗口保持显示
这将创建一个空白窗口。
实现计算器的下一步是向窗口添加控件。我们需要添加文本框和按钮。文本框用于显示用户输入和计算结果,按钮用于输入数字和操作符。
以下是添加文本框和按钮的示例代码:
from tkinter import *
root = Tk()
#创建文本框
calc_entry = Entry(root, width=35, borderwidth=5)
calc_entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)
#创建按钮
button_1 = Button(root, text='1', padx=40, pady=20)
button_2 = Button(root, text='2', padx=40, pady=20)
button_3 = Button(root, text='3', padx=40, pady=20)
button_4 = Button(root, text='4', padx=40, pady=20)
button_5 = Button(root, text='5', padx=40, pady=20)
button_6 = Button(root, text='6', padx=40, pady=20)
button_7 = Button(root, text='7', padx=40, pady=20)
button_8 = Button(root, text='8', padx=40, pady=20)
button_9 = Button(root, text='9', padx=40, pady=20)
button_0 = Button(root, text='0', padx=40, pady=20)
button_add = Button(root, text='+', padx=39, pady=20)
button_sub = Button(root, text='-', padx=41, pady=20)
button_mul = Button(root, text='*', padx=40, pady=20)
button_div = Button(root, text='/', padx=41, pady=20)
button_equal = Button(root, text='=', padx=91, pady=20)
button_clear = Button(root, text='Clear', padx=79, pady=20)
#将按钮添加到窗口
button_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, column=2)
button_0.grid(row=4, column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_sub.grid(row=6, column=0)
button_mul.grid(row=6, column=1)
button_div.grid(row=6, column=2)
button_equal.grid(row=5, column=1, columnspan=2)
root.mainloop()
这将创建一个带有数字和操作按钮的窗口。
我们需要定义按下按钮时要执行的函数。我们需要创建一个calculate函数,它将根据用户输入来执行带有加法,减法,乘法和除法的计算。我们还需要创建一个clear函数,以便用户可以在需要时清除文本框。
以下是定义按钮功能的示例代码:
from tkinter import *
root = Tk()
#创建文本框
calc_entry = Entry(root, width=35, borderwidth=5)
calc_entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)
#创建按钮
button_1 = Button(root, text='1', padx=40, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text='2', padx=40, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text='3', padx=40, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text='4', padx=40, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text='5', padx=40, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text='6', padx=40, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text='7', padx=40, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text='8', padx=40, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text='9', padx=40, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text='0', padx=40, pady=20, command=lambda: button_click(0))
button_add = Button(root, text='+', padx=39, pady=20, command=button_add)
button_sub = Button(root, text='-', padx=41, pady=20, command=button_subtract)
button_mul = Button(root, text='*', padx=40, pady=20, command=button_multiply)
button_div = Button(root, text='/', padx=41, pady=20, command=button_divide)
button_equal = Button(root, text='=', padx=91, pady=20, command=button_equal)
button_clear = Button(root, text='Clear', padx=79, pady=20, command=button_clear)
#将按钮添加到窗口
button_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, column=2)
button_0.grid(row=4, column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_sub.grid(row=6, column=0)
button_mul.grid(row=6, column=1)
button_div.grid(row=6, column=2)
button_equal.grid(row=5, column=1, columnspan=2)
#定义函数
def button_click(number):
current = calc_entry.get()
calc_entry.delete(0, END)
calc_entry.insert(0, str(current) + str(number))
def button_clear():
calc_entry.delete(0, END)
def button_add():
first_number = calc_entry.get()
global f_num
global math
math = 'addition'
f_num = int(first_number)
calc_entry.delete(0, END)
def button_subtract():
first_number = calc_entry.get()
global f_num
global math
math = 'subtraction'
f_num = int(first_number)
calc_entry.delete(0, END)
def button_multiply():
first_number = calc_entry.get()
global f_num
global math
math = 'multiplication'
f_num = int(first_number)
calc_entry.delete(0, END)
def button_divide():
first_number = calc_entry.get()
global f_num
global math
math = 'division'
f_num = int(first_number)
calc_entry.delete(0, END)
def button_equal():
second_number = calc_entry.get()
calc_entry.delete(0, END)
if math == 'addition':
calc_entry.insert(0, f_num + int(second_number))
if math == 'subtraction':
calc_entry.insert(0, f_num - int(second_number))
if math == 'multiplication':
calc_entry.insert(0, f_num * int(second_number))
if math == 'division':
calc_entry.insert(0, f_num / int(second_number))
root.mainloop()
此代码将使您的计算器窗口拥有完整的计算功能。
在本文中,我们介绍了如何使用Python Tkinter库创建一个桌面计算器。我们创建了一个窗口,并向其添加了文本框和按钮,然后定义了一个包含数字和操作的功能来计算结果。我们希望这个教程对您有所帮助。