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

python GUI计算器的实现

作者头像
用户7886150
修改于 2020-12-28 03:35:13
修改于 2020-12-28 03:35:13
1.4K0
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Python | 使用Tkinter的简单GUI计算器

01 实现 

我们几乎每个人都用过计算器,大家对于计算器应该都是比较熟悉的,计算器整体也是比较简单的,主要包括:显示器、键盘、运算的逻辑处理等,计算器的图形界面我们使用 tkinter 库实现,下面看一下具体实现过程。 

首先,我们画一个主窗口,代码实现如下: 

1 2 3 4 5 6 7 8 # 创建主窗口 tk = tkinter.Tk() # 设置窗口大小和位置 tk.geometry('300x210+500+200') # 不允许改变窗口大小 tk.resizable(False, False) # 设置窗口标题 tk.title('计算器') 看一下效果: 

我们接着画显示器,代码实现如下: 

1 2 3 4 5 6 7 8 # 自动刷新字符串变量,可用 set 和 get 方法进行传值和取值 contentVar = tkinter.StringVar(tk, '') # 创建单行文本框 contentEntry = tkinter.Entry(tk, textvariable=contentVar) # 设置文本框为只读 contentEntry['state'] = 'readonly' # 设置文本框坐标及宽高 contentEntry.place(x=20, y=10, width=260, height=30) 看一下效果: 

再接着画键盘,代码实现如下: 

1 2 3 4 5 6 7 8 9 10 # 按钮显示内容 bvalue = ['C', '+', '-', '//', '2', '0', '1', '√', '3', '4', '5', '*', '6', '7', '8', '.', '9', '/', '**', '='] index = 0 # 将按钮进行 5x4 放置 for row in range(5):   for col in range(4):     d = bvalue[index]     index += 1     btnDigit = tkinter.Button(tk, text=d, command=lambda x=d: onclick(x))     btnDigit.place(x=20 + col * 70, y=50 + row * 30, width=50, height=20) 看一下效果: 

界面画完了,我们看一下处理运算逻辑的代码,如下所示: 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 # 点击事件 def onclick(btn):   # 运算符   operation = ('+', '-', '*', '/', '**', '//')   # 获取文本框中的内容   content = contentVar.get()   # 如果已有内容是以小数点开头的,在前面加 0   if content.startswith('.'):     content = '0' + content # 字符串可以直接用+来增加字符   # 根据不同的按钮作出不同的反应   if btn in '0123456789':     # 按下 0-9 在 content 中追加     content += btn   elif btn == '.':     # 将 content 从 +-*/ 这些字符的地方分割开来     lastPart = re.split(r'\+|-|\*|/', content)[-1]     if '.' in lastPart:       # 信息提示对话框       tkinter.messagebox.showerror('错误', '重复出现的小数点')       return     else:       content += btn   elif btn == 'C':     # 清除文本框     content = ''   elif btn == '=':     try:       # 对输入的表达式求值       content = str(eval(content))     except:       tkinter.messagebox.showerror('错误', '表达式有误')       return   elif btn in operation:     if content.endswith(operation):       tkinter.messagebox.showerror('错误', '不允许存在连续运算符')       return     content += btn   elif btn == '√':     # 从 . 处分割存入 n,n 是一个列表     n = content.split('.')     # 如果列表中所有的都是数字,就是为了检查表达式是不是正确的     if all(map(lambda x: x.isdigit(), n)):       content = eval(content) ** 0.5     else:       tkinter.messagebox.showerror('错误', '表达式错误')       return   # 将结果显示到文本框中   contentVar.set(content) 整体实现完了之后,我们来演示一下,看一下效果: 

是不是有内味了。 

02 打包 

为了更加方便的使用,我们可以将 Python 代码打包成 exe 文件,打包我们使用 pyinstaller,安装用 pip install pyinstaller 命令即可。 

打包时我们使用 pyinstaller --onefile --nowindowed counter.py 命令即可,此时打包生成的文件是使用的默认图标,如果我们想指定自己的图标可以添加参数 --icon="xxx\xxx.ico",打包生成的文件在 dist 目录。 

如下图所示: 

此时,我们直接运行 exe 文件就行了。 

03 总结 

本文我们使用 Python 实现了一个简易的计算器,大家如果有兴趣的话,可以尝试添加更多的功能以及对键盘进行个性化修改。 

以上就是python GUI计算器的实现的详细内容

本文系转载,前往查看

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

本文系转载,前往查看

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
80 行 Python 代码写个图形计算器
我们几乎每个人都用过计算器,大家对于计算器应该都是比较熟悉的,计算器整体也是比较简单的,主要包括:显示器、键盘、运算的逻辑处理等,计算器的图形界面我们使用 tkinter 库实现,下面看一下具体实现过程。
龙哥
2020/10/09
2.6K0
80 行 Python 代码写个图形计算器
Python实用开发项目案例01 -- 计算器应用程序
今天,我想与大家分享一个适合Python初学者的实用小项目——使用Tkinter库构建一个简易计算器应用。
sergiojune
2025/04/16
700
Python实用开发项目案例01 -- 计算器应用程序
Tkinter学习笔记(二)
至此,组件部分就学完了,对于布局其实很难。所以还是放弃采用grid的方式。我觉得直接设置位置挺好的。
写一点笔记
2020/11/02
4040
Tkinter学习笔记(二)
基于Python+tkinter实现一个简易计算器桌面软件
你是否想过自己能够开发一个桌面小工具?如果答案是“是”,那么你来对地方了!今天,我们要一起使用Python中的tkinter库,来创建一个简易的桌面计算器。
子午Python
2023/09/15
4930
Python 快速实现一个分词处理器
今天要分享的是AI编程技巧,用Python + Trae 快速实现一个分词处理器。
软件架构师Michael
2025/04/09
1140
几个可以整蛊你朋友的 Python 程序
当然我安装 360 之后,程序没了。有兴趣研究免杀的,可以在给本文点个赞,点赞过 100,我出套 Python 免杀教程。
Python研究者
2022/05/21
6560
几个可以整蛊你朋友的 Python 程序
Chatgpt教你开发iPhone风格计算器,Python代码实现
上次使用Chatgpt写爬虫,虽然写出来的代码很多需要修改后才能运行,但Chatgpt提供的思路和框架都是没问题。
派大星的数据屋
2023/02/23
7690
Chatgpt教你开发iPhone风格计算器,Python代码实现
python图片脚本2-图片文件批量命名(详细注释+GUI界面+exe可执行文件)
本文介绍一个用python第三方库pillow写的批量处理图片命名的脚本,以及脚本对应的使用tkinter库写的GUI界面并把它打包成exe可执行文件,打包成可执行文件的好处就是它支持多种操作系统,如 Windows、Linux 和 Mac OS 等。不了解pillow库和tkinter库的可以看我之前的文章,具体在下面的导航区域。
laity
2025/02/26
1300
python图片脚本2-图片文件批量命名(详细注释+GUI界面+exe可执行文件)
基于tkinter的GUI编程
tkinter:tkinter是绑定了Python的TKGUI工具集,就是Python包装的Tcl代码,通过内嵌在Python解释器内部的Tcl 解释器实现的,它是Python标准库的一部分,所以使用它进行GUI编程不需要另外安装第三方库的。
py3study
2020/01/16
5.6K0
基于tkinter的GUI编程
python GUI界面设计的那些事(二)
python 可以通过 tkinter, pyqt5或者pyside2等工具库实现界面设计。
叶子陪你玩
2021/04/13
3.4K0
python GUI界面设计的那些事(二)
Python tkinter 一个Music download software的界面
前言 本次案例最终实现效果 开发环境 python 3.8: 解释器 pycharm: 代码编辑器 界面代码实现 先导入所需模块 import tkinter as tk from tkinter import ttk import tkinter.messagebox 创建窗口 root = tk.Tk() root.title('XXX') # 名字自己起 root.geometry('900x700+200+200') root.mainloop() 名称搜索框 可以通过Singer
松鼠爱吃饼干
2022/12/05
5110
Python tkinter 一个Music download software的界面
python图片脚本1-批量处理图片尺寸(详细注释+GUI界面+exe可执行文件)
本文介绍一个用python第三方库pillow写的批量处理图片尺寸的脚本,以及脚本对应的使用tkinter库写的GUI界面并把它打包成exe可执行文件,打包成可执行文件的好处就是它支持多种操作系统,如 Windows、Linux 和 Mac OS 等。不了解pillow库和tkinter库的可以看我之前的文章,具体在下面的导航区域。
laity
2025/02/26
1800
python图片脚本1-批量处理图片尺寸(详细注释+GUI界面+exe可执行文件)
教你如何利用python做登录和注册(附源码)
本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、文本框、按钮等组件。涉及知识点:Python Tkinter 界面编程、pickle 数据存储。本例实现了基本的用户登录和注册互动界面,并提供用户信息存储和验证。pickle 是 python 语言的一个标准模块,安装 python 后已包含 pickle 库,不需要单独再安装。pickle 模块实现了基本的数据序列化和反序列化。通过 pickle 模块的序列化操作能够将程序中运行的对象信息保存到文件中去,永久存储;通过 pickle 模块的反序列化操作,能够从文件中创建上一次程序保存的对象。本例难度为中级,适合具有 Python 基础和 Tkinter 组件编程知识的用户学习。
陈晨135
2022/01/10
6.1K0
Python tkinter版猜数游戏
程序启动后,首先需要启动一次游戏并设置数值范围和猜测次数,然后可以猜数并输入,程序会根据实际情况进行大小提示,退出程序时提示战绩,例如共玩几次和成功几次。 import random import tkinter import tkinter.messagebox import tkinter.simpledialog root = tkinter.Tk() #窗口标题 root.title('猜数游戏--by董付国') #窗口初始大小和位置 root.geometry('280x80+400+300')
Python小屋屋主
2018/04/16
1.9K0
Python tkinter版猜数游戏
【经验分享】使用Python的图形库创建一个好看实用的计算器,附完整项目代码
本项目展示了如何使用ttkbootstrap模块创建一个功能齐全且美观的计算器应用程序。通过菜单栏提供的各种功能,用户可以方便地进行主题切换、窗口大小调整、查看历史记录和其他信息等操作。这不仅提高了计算器的实用性,也增强了用户体验。
命运之光
2024/08/02
1590
【经验分享】使用Python的图形库创建一个好看实用的计算器,附完整项目代码
Python中的消息框对话框tkinter.messagebox
未名编程
2024/10/12
1790
Python中的消息框对话框tkinter.messagebox
ChatGPT自动化编程:三分钟用Tkinter搞定计算器
本文结合ChatGPT和GitHub Copilot是一个Tkinter版的计算器程序。Tkinter是Python的内置GUI库,不需要单独安装。 计算器程序有很多种类,本节会实现一个基本的计算器程序,在窗口上包含0到9一共10个数字按钮,以及“+”、“-”、“*”、“=”、“.”和“=”一共6个按钮,加一起一共16个按钮,正好是4行4列。具体的样式可以参考系统自身带的计算机程序,如图1就是macOS带的计算器程序的主界面。计算器的功能主要是单击除了“=”按钮外的其他按钮,会将按钮文本追加到计算器上方的文本输入框中,点击“=”按钮,会动态计算文本输入框中的表达式,双击文本输入框,会清空文本。
蒙娜丽宁
2024/01/22
3040
ChatGPT自动化编程:三分钟用Tkinter搞定计算器
Python+tkinter模拟“记住我”自动登录原理
基本思路:如果某次登录成功,则创建临时文件记录有关信息,每次启动程序时尝试自动获取上次登录成功的信息并自动编写。本文主要演示思路,可根据实际系统中的需要进行改写,例如读取数据库并验证用户名和密码是否正确、对用户名和密码进行本地加密存储等等。 import tkinter import tkinter.messagebox import os import os.path # 获取Windows平台临时文件夹 path = os.getenv('temp') filename = os.path.join(p
Python小屋屋主
2018/04/16
2K0
Python+tkinter模拟“记住我”自动登录原理
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)
当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI)。
红目香薰
2022/11/28
14.7K0
AI神助攻!小白也能制作自动重命名工具~
我们平时从网上下载一些文件,文件名很多都是一大串字母和数字,不打开看看,根本不知道里面是什么内容。
zhanyd
2024/05/08
2050
AI神助攻!小白也能制作自动重命名工具~
推荐阅读
相关推荐
80 行 Python 代码写个图形计算器
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档