Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用python tkinter实现一个简单计算器

使用python tkinter实现一个简单计算器

作者头像
叶子陪你玩
发布于 2020-05-20 15:47:24
发布于 2020-05-20 15:47:24
4.8K0
举报

之前写过一系列的tkinter库控件的使用方法以及tkinter的三种布局方法。

但是并没有做过什么实际的案例,主要原因是因为使用tikinter做界面比较麻烦,没有可视化的设计来的快,就像我之前用的QT设计工具,就非常方便。

如果做一些简单的界面,使用tkinter还是很方便的,毕竟是python自带的库。

今天将会做下面这样的一个计算器,可以实现基本的加减程序的运算,整体代码逻辑比较简单,主要是一个回调函数的理解。

实现思路

1.UI界面布局

2.功能函数实现

3.重构布局代码

4.按钮回调函数绑定

具体实现过程

1.界面实现

实现基本窗口

创建父窗口app,设置几何尺寸400x400,设置标题,最后循环就实现最简单的框架了。

添加控件

控件这里主要标签和按钮,先来看添加一个标签和一个按钮。

里面的控件属性都是为了让控件显示在正好的位置,添加两个控件还是很简单的,但是我们有很多控件,如果还是用上面的方法就会非常麻烦,通过观察可以知道,每个按钮除了位置和按钮的文字不一样,其它都是一模一样的,所以这里我们可以使用循环来设置。

2.功能函数实现

界面实现了,接下来就是实现计算器的功能。

功能1:按下数字和运算符按钮,按钮的文字内容显示到标签。

功能2:按下清空按钮,将标签的内容全部置空删除。

功能3:按下退格按钮,标签往回删除一个内容。

功能4:按下等于按钮直接计算结果并显示在标签区。

先创建display变量,用来表示label的字符内容。set_content是实现功能1的,当我们按下某个按钮,就将按钮值传递给这个方法,这个方法会先通过display.get获取当前标签的内容,然后和text拼接到一起,最后重新放在到标签里面。

按下清空按钮就调用clear方法,直接将标签内容设为空;

按下退格就是先获取当前的标签内容,然后通过切片的方式获取除掉最后一个字符的内容,最后将当前内容传递给display,从而实现退格效果。

等于按钮按下就调用calculate方法,先获取当前标签的内容,通过eval方法计算结果,最后将算式和结果拼接成一个字符串返回给label显示,过程中如果出现错误异常,就显示error。

3.重构布局代码

方法都定义好了,但是按钮都是循环实现的,如果直接绑定回调函数肯定不行,因为只能绑定一个,根据上面的功能,按钮要分为4类。所以这里在循环显示按钮的时候进行分类,为之后绑定不同方法做准备,具体更改完代码如下。

4.按钮回调函数绑定

最后给不同类型按钮绑定上对应方法即可。等于,清空,退格都比较好理解,直接绑定方法,而功能1的数值和运算符号的相对复杂一定,因为回调需要传递参数,但是一般的写法是无法传递参数的,所以这里通过匿名函数构建了一个新函数,把之前的函数作为匿名函数表达式,这样就可以传递参数了。

大功告成。

动图效果

(全文完)


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于Python+tkinter实现一个简易计算器桌面软件
你是否想过自己能够开发一个桌面小工具?如果答案是“是”,那么你来对地方了!今天,我们要一起使用Python中的tkinter库,来创建一个简易的桌面计算器。
子午Python
2023/09/15
5560
Python GUI编程 | 10分钟轻松学会Tkinter
图形用户界面(GUI)是为用户交互提供灵活性的界面,很多小伙伴都希望把自己的Python小程序都加上一个可视化界面。即美观,又有交互性。常见的Python必备的GUI库有:Tkinter、PyQt5、Kivy、wxPython、PySimpleGUI等等。后续这些有用有趣的模块在快学Python都会陆续介绍的。
快学Python
2021/08/09
11K1
Java中规模软件开发实训——简单计算器制作
前言:在现代社会中,计算器是我们生活中不可或缺的工具之一。它们可以轻松地进行各种数值计算,从简单的加减乘除到复杂的科学运算,为我们提供了快捷准确的计算结果。但你是否曾想过,我们可以亲手打造一个属于自己的计算器应用程序,体验计算世界的奇妙之旅?本文将带领你进入计算器应用程序的开发领域。我们将使用Java编程语言和Swing图形界面库,从零开始构建一个简单但功能强大的计算器应用程序。无论你是计算机科学专业的学生,还是对编程和应用开发感兴趣的爱好者,这个实践项目都将为你提供一个宝贵的机会来深入了解应用程序开发的流程和技术。
命运之光
2024/03/20
4270
Java中规模软件开发实训——简单计算器制作
Python-Tkinter图形化界面设计(详细教程 )
声明:本篇文章为转载自https://www.jianshu.com/p/91844c5bca78,在原作者的基础上添加目录导航,旨在帮助大家以更高效率进行学习和开发。
全栈程序员站长
2021/04/07
15.1K0
Python的GUI编程和tkinter,Wxpython
根窗体是图像化应用程序的根控制器,是tkinter的底层控件的实例。当导入tkinter模块后,调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(以像素为单位)。将其置于主循环中,除非用户关闭,否则程序始终处于运行状态。执行该程序,一个窗体就呈现出来了。在这个主循环的根窗体中,可持续呈现中的其他可视化控件实例,监测事件的发生并执行相应的处理程序
十二惊惶
2024/02/28
9060
python Tkinter图形开发--计算器
本例利用 Python 开发一个可以进行简单的四则运算的图形化计算器,会用到 Tkinter 图形组件进行开发。主要知识点:Python Tkinter 界面编程;计算器逻辑运算实现学习python用什么书好。本例难度为初级,适合具有 Python 基础和 Tkinter 组件编程知识的用户学习。
用户2226202
2024/09/20
1700
使用 fyne 编写一个计算器程序
在上一篇文章中,我们介绍了一个 Go 的高颜值 GUI 库fyne。本文接着上一篇,介绍如何使用fyne编写一个简单的计算器程序。程序效果如下:
用户7731323
2020/09/08
1.7K0
基于python tkinter的简单计
import tkinter #定义计算器类 class Calc: #初始化魔术方法 def __init__(self): #初始化共用属性 #定义一个用于存放被计算字符串的列表 self.operationList = [] #定义运算标记 确定是否输入了运算符号 self.isOper = False #初始化界面 self.initWindows() #更改按键盘颜色方法 def changeBg(self,evt): evt.widget['
py3study
2020/01/10
9400
Swift封装 - 计算器开发
image.png 前言: 师弟要毕业设计,就敲了swift版的计算器给他参考下。现在把代码放上来,通过这个计算器,可以学习简单的封装:将逻辑与界面分离并提供接口的编程方式,这也是我们学习面向对象的必要点。 基于 xcode 9.0 swift4.0 一、先引用SnapKit框架 SnapKit自己看git引入 利用其来约束组件 二、新建一个继承UIButton类的类文件,命名为DWFuncButton,对其设置字体、颜色、风格代码如下: class DWFuncButton: UIButton {
Dwyane
2018/05/22
1.4K0
如何在 Python 中创建一个类似于 MS 计算器的 GUI 计算器
假设我们需要创建一个类似于微软计算器的 GUI 计算器。这个计算器应该具有以下功能:
用户11021319
2024/07/11
4360
如何在 Python 中创建一个类似于 MS 计算器的 GUI 计算器
GUIDE例 开发简单计算器
之前简单介绍了GUIDE的大致情况,受小可爱反应,本期推出一个容易理解的例子----计算器。过程如下:
巴山学长
2019/07/15
5140
GUIDE例    开发简单计算器
【python】Python tkinter库实现重量单位转换器的GUI程序
全栈若城
2024/02/29
5070
【python】Python tkinter库实现重量单位转换器的GUI程序
Qt项目---简单的计算器
在这篇技术博客中,我们将介绍如何使用Qt框架实现一个简单的计算器应用。我们将使用C++编程语言和Qt的图形用户界面库来开发这个应用,并展示如何实现基本的算术操作。
莫浅子
2023/10/17
8660
Qt项目---简单的计算器
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)
当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI)。
红目香薰
2022/11/28
15.1K0
ChatGPT自动化编程:三分钟用Tkinter搞定计算器
本文结合ChatGPT和GitHub Copilot是一个Tkinter版的计算器程序。Tkinter是Python的内置GUI库,不需要单独安装。 计算器程序有很多种类,本节会实现一个基本的计算器程序,在窗口上包含0到9一共10个数字按钮,以及“+”、“-”、“*”、“=”、“.”和“=”一共6个按钮,加一起一共16个按钮,正好是4行4列。具体的样式可以参考系统自身带的计算机程序,如图1就是macOS带的计算器程序的主界面。计算器的功能主要是单击除了“=”按钮外的其他按钮,会将按钮文本追加到计算器上方的文本输入框中,点击“=”按钮,会动态计算文本输入框中的表达式,双击文本输入框,会清空文本。
蒙娜丽宁
2024/01/22
4200
ChatGPT自动化编程:三分钟用Tkinter搞定计算器
C#还能这么玩?“诺基亚大屏独显计算器”来咯!
在C#编程开发中通常会为了程序的可视化和用户操作更加便捷,通常会用到winform用户交互界面的开发。
灰小猿
2020/09/23
9790
C#还能这么玩?“诺基亚大屏独显计算器”来咯!
Tkinter:Python的门面担当
在大多数时候,我们都在黑黢黢的控制台里执行 Python 脚本。这看起来很酷很 GEEK。但对于部分场景下的用户来说,这样就不大美观和人性化了:我们需要交互更方便的图形化产品,也就是 GUI(图形用户界面,Graphical User Interface)。
Crossin先生
2023/08/29
4230
Tkinter:Python的门面担当
Java交互界面实现计算器开发设计【附函数源码】
之前在博客上和大家分享了一篇关于使用C#开发winform计算器的文章“C#还能这么玩?[“诺基亚大屏独显计算器”来咯!”,所以最近在用Java做GUI编程的时候就想着使用Java也实现一个类似的项目。
灰小猿
2020/09/23
1.5K0
Java交互界面实现计算器开发设计【附函数源码】
软件测试|超好用超简单的Python GUI库——tkinter(四)
Button 控件是 Tkinter 中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。通过用户点击按钮的行为来执行回调函数,是 Button 控件的主要功用。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,Tkinter 就会自动调用相关函数。
霍格沃兹测试开发Muller老师
2023/04/10
1.5K0
Python GUI编程:Tkinter
Python里的图形化界面(GUI)模块主要有Tkinter(python自带)、PyQt、wxPython,我们这节主要讲解Tkinter组件:
小雨coding
2020/08/03
7.5K0
推荐阅读
相关推荐
基于Python+tkinter实现一个简易计算器桌面软件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档