python计算器简单代码_Python计算器–使用Tkinter创建一个简单的GUI计算器

在Python计算器教程中,您将学习创建简单的GUI计算器。在这篇文章中,我将向您展示如何使用python中的tkinter模块开发一个简单的计算器。因此,让我们进一步创建一个简单的python计算器。

Python提供了许多开发GUI应用程序的选项,但是Tkinter是用于开发GUI(图形用户界面)的最有用的模块。由于Tkinter是跨平台的,因此它可以在Windows和Linux上运行。所以在这里我使用Tkinter模块来创建一个简单的python计算器。

Python计算器教程– Tkinter入门

Tkinter是使用python开发GUI应用程序的最快,最简单的方法。因此,让我们快速浏览一下Tkinter。

什么是Tkinter

所述模块(“TK接口”)是标准的Python接口Tk的GUI工具包。

Tk和Tkinter在大多数Unix平台以及Windows系统上都可用。

如果您在Linux / Ubuntu上工作,则必须在计算机上安装Tkinter模块以运行程序,但是在Windows上则不需要安装它,因为它带有默认的python安装。

Python计算器的先决条件

要使用python开发简单的GUI计算器,您必须具备以下先验知识–

简单的GUI Python计算器外观

看这个计算器。是的,这看起来很酷。因此,现在我们必须在python中创建此计算器。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

在此计算器上,我们可以执行以下简单的数学计算–

乘法

加成

减法

现在我们将开始编写用于实现此目的的代码。为此,我们必须做四件事–

导入Tkinter模块

创建主界面(计算器窗口)

在主界面中添加任意数量的小部件

在小部件上应用事件触发器

为计算器创建窗口

首先,我们将创建一个计算器窗口。因此,编写以下代码。

from tkinter import *

# Creating frame for calculator

def iCalc(source, side):

storeObj = Frame(source, borderwidth=4, bd=4, bg="powder blue")

storeObj.pack(side=side, expand =YES, fill =BOTH)

return storeObj

# Creating Button

def button(source, side, text, command=None):

storeObj = Button(source, text=text, command=command)

storeObj.pack(side=side, expand = YES, fill=BOTH)

return storeObj

class app(Frame):

def __init__(self):

Frame.__init__(self)

self.option_add('*Font', 'arial 20 bold')

self.pack(expand = YES, fill =BOTH)

self.master.title('Calculator')

# Start the GUI

if __name__=='__main__':

app().mainloop()

让我们看一下输出。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

我们已经成功创建了此框架,现在让我们继续前进。

添加显示小部件

要创建显示窗口小部件,请在类app中编写以下代码。

display = StringVar()

Entry(self, relief=RIDGE, textvariable=display,

justify='right'

, bd=30, bg="powder blue").pack(side=TOP,

expand=YES, fill=BOTH)

所以现在的输出是–

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

添加清除按钮小部件

现在,我们将创建一个清除按钮。每当按下此按钮时,显示的所有内容将被删除。因此,为此编写以下代码。

for clearButton in (["C"]):

erase = iCalc(self, TOP)

for ichar in clearButton:

button(erase, LEFT, ichar, lambda

storeObj=display, q=ichar: storeObj.set(''))

现在您可以看到输出了。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

添加数字和符号小部件

要在框架内添加数字和符号,您必须编写以下代码。

for numButton in ("789/", "456*", "123-", "0.+"):

FunctionNum = iCalc(self, TOP)

for iEquals in numButton:

button(FunctionNum, LEFT, iEquals, lambda

storeObj=display, q=iEquals: storeObj

.set(storeObj.get() + q))

现在您可以看到输出了。看起来很酷。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

添加平等按钮

为了实现Equal按钮,请编写以下代码。

EqualButton = iCalc(self, TOP)

for iEquals in "=":

if iEquals == '=':

btniEquals = button(EqualButton, LEFT, iEquals)

btniEquals.bind('', lambda e,s=self,

storeObj=display: s.calc(storeObj), '+')

else:

btniEquals = button(EqualButton, LEFT, iEquals,

lambda storeObj=display, s=' %s ' % iEquals: storeObj.set

(storeObj.get() + s))

因此,现在我们的计算器如下所示。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

在小部件上应用事件触发器

现在,最后但很重要的一点是在小部件上应用事件触发器。这意味着每当您单击任何窗口小部件时,都会执行某些功能。所以写下面的代码

def calc(self, display):

try:

display.set(eval(display.get()))

except:

display.set("ERROR")

完整的Python计算器代码

所以现在我将上述所有代码收集并保存在一个地方。因此,下面是我们在python中制作一个简单计算器的全部代码。

from tkinter import *

def iCalc(source, side):

storeObj = Frame(source, borderwidth=4, bd=4, bg="powder blue")

storeObj.pack(side=side, expand =YES, fill =BOTH)

return storeObj

def button(source, side, text, command=None):

storeObj = Button(source, text=text, command=command)

storeObj.pack(side=side, expand = YES, fill=BOTH)

return storeObj

class app(Frame):

def __init__(self):

Frame.__init__(self)

self.option_add('*Font', 'arial 20 bold')

self.pack(expand = YES, fill =BOTH)

self.master.title('Calculator')

display = StringVar()

Entry(self, relief=RIDGE, textvariable=display,

justify='right'

, bd=30, bg="powder blue").pack(side=TOP,

expand=YES, fill=BOTH)

for clearButton in (["C"]):

erase = iCalc(self, TOP)

for ichar in clearButton:

button(erase, LEFT, ichar, lambda

storeObj=display, q=ichar: storeObj.set(''))

for numButton in ("789/", "456*", "123-", "0.+"):

FunctionNum = iCalc(self, TOP)

for iEquals in numButton:

button(FunctionNum, LEFT, iEquals, lambda

storeObj=display, q=iEquals: storeObj

.set(storeObj.get() + q))

EqualButton = iCalc(self, TOP)

for iEquals in "=":

if iEquals == '=':

btniEquals = button(EqualButton, LEFT, iEquals)

btniEquals.bind('', lambda e,s=self,

storeObj=display: s.calc(storeObj), '+')

else:

btniEquals = button(EqualButton, LEFT, iEquals,

lambda storeObj=display, s=' %s ' % iEquals: storeObj.set

(storeObj.get() + s))

def calc(self, display):

try:

display.set(eval(display.get()))

except:

display.set("ERROR")

if __name__=='__main__':

app().mainloop()

因此,现在该看计算器了,您可以对其执行任何操作。因此,让我们开始计算。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==Python计算器

恭喜,我们已经成功创建了python计算器,我希望您在制作此计算器的过程中喜欢上Python。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值