Python开发桌面微型计算器
开发Windows窗口需要用到tkinter库
所以上来的第一件事就是:
import tkinter as t
window = t.Tk()#创建了一个窗口
window.title('微型计算器')#这个窗口的名字叫‘微型计算器’
window.geometry('250x150')#这个窗口的大小为250*150。Warning:两个数字之间的符号不是*,而是小写字母x!
这样一来我们便完成了第一件事把一个“空桶”创建好了,接下来往其中加入新的元素。
def hit_me():#这个函数显示了计算器的使用时的注意事项
l = t.Label(window,
text = '本计算器为初代,仅支持加减乘除四则运算!',
bg = 'green',
font = ('MV Boli',9),
width=35,height=2
)#定义了一个标签
l.pack()#把标签放到窗口中去
b = t.Button(
window,
text = '用前须知',
width=6, height=1,
command=hit_me)#定义一个按钮,此按钮会调用“hit_me”函数
b.place(x=0,y=0,anchor='nw')#把按钮放到窗口中去
这样我们的计算器的用前须知就做好了,接下来加入计算功能。
def calc():#计算的函数,相信不需要多解释了
a=int(e.get())#get函数将输入框中的数据拿出来
b=e1.get()
c=int(ee.get())
if b=='+':t.Label(window,text='= '+str(a+c)).place(x=150,y=65,anchor='nw')
elif b=='-':t.Label(window,text='= '+str(a-c)).place(x=150,y=65,anchor='nw')
elif b=='*':t.Label(window,text='= '+str(a*c)).place(x=150,y=65,anchor='nw')
else:t.Label(window,text='= '+str(a/c)).place(x=150,y=65,anchor='nw')
e = t.Entry(window,width=10)#定义一个输入框
e.place(x=10,y=65,anchor='nw')#把它放到屏幕上去
e1 = t.Entry(window,width=1)
e1.place(x=85,y=65,anchor='nw')
ee = t.Entry(window,width=10)
ee.place(x=97,y=65,anchor='nw')
t.Button(window,text='计算',command=calc).place(x=125,y=90,anchor='nw')#运行计算功能
再加上版本号
t.Label(window,text='version:1.0').place(x=100,y=125,anchor='nw')
最后让窗口转起来
window.mainloop()
完美!
这样一来原代码就写好了全套代码如下
import tkinter as t
window = t.Tk()#创建了一个窗口
window.title('微型计算器')#这个窗口的名字叫‘微型计算器’
window.geometry('250x150')#这个窗口的大小为250*150。Warning:两个数字之间的符号不是*,而是小写字母x!
def hit_me():#这个函数显示了计算器的使用时的注意事项
l = t.Label(window,
text = '本计算器为初代,仅支持加减乘除四则运算!',
bg = 'green',
font = ('MV Boli',9),
width=35,height=2
)#定义了一个标签
l.pack()#把标签放到窗口中去
b = t.Button(
window,
text = '用前须知',
width=6, height=1,
command=hit_me)#定义一个按钮,此按钮会调用“hit_me”函数
b.place(x=0,y=0,anchor='nw')#把按钮放到窗口中去
def calc():#计算的函数,相信不需要多解释了
a=int(e.get())#get函数将输入框中的数据拿出来
b=e1.get()
c=int(ee.get())
if b=='+':t.Label(window,text='= '+str(a+c)).place(x=150,y=65,anchor='nw')
elif b=='-':t.Label(window,text='= '+str(a-c)).place(x=150,y=65,anchor='nw')
elif b=='*':t.Label(window,text='= '+str(a*c)).place(x=150,y=65,anchor='nw')
else:t.Label(window,text='= '+str(a/c)).place(x=150,y=65,anchor='nw')
e = t.Entry(window,width=10)#定义一个输入框
e.place(x=10,y=65,anchor='nw')#把它放到屏幕上去
e1 = t.Entry(window,width=1)
e1.place(x=85,y=65,anchor='nw')
ee = t.Entry(window,width=10)
ee.place(x=97,y=65,anchor='nw')
t.Button(window,text='计算',command=calc).place(x=125,y=90,anchor='nw')#运行计算功能
t.Label(window,text='version:1.0').place(x=100,y=125,anchor='nw')
window.mainloop()
接下来让我们把他转成.exe,分以下步骤:
1.在cmd中输入: pip install pyinstaller,安装pyinstaller插件。
2.将cmd调至你的*.py的文件夹,然后输入 pyintaller -F -w *.py 注:*为文件名
这样一来你的计算器就在dist文件夹里出现了。(附实用效果图)



刚刚学习,有些鄙陋,敬请见谅
Python开发桌面微型计算器的更多相关文章
- 1.1 Qt Creater使用Python开发桌面软件的操作流程
Qt Creater及Python的下载与安装过程不再赘述,读者可自行在网上搜索相应的下载与安装方法. 首先我们打开Qt Creater,单击"Create Project"按钮或 ...
- 用python进行桌面程序开发
Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所 ...
- 实用 | 利用 aardio 配合 Python 快速开发桌面应用
1. 前言 大家好,我是安果! 我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长 假如想快速开发一款 PC ...
- aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE
网络上大家分享的 aardio + Python 混合开发的文章很多,不得不说 aardio 与 Python 混合开发是真的简单 ! 快速入门 推荐几个快速上手教程:< aardio + P ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- aardio 开发桌面应用,这几点必须要掌握!
1. 前言 大家好,我是安果! 上一篇文章写到可以通过 aardio 结合 Python 开发桌面应用,有些小伙伴后台给我留言,说 Aardio 资料太少,希望我能补充一些实用的功能 实用 | 利用 ...
- Python开发——利用正则表达式实现计算器算法
Python开发--利用正则表达式实现计算器算法 (1)不使用eval()等系统自带的计算方法 (2)实现四则混合运算.括号优先级解析 思路: 1.字符串预处理,将所有空格去除 2.判断是否存在括号运 ...
- 用Python开发实用程序 – 计算器
一段时间前,自己制作了一个库 “sui-math”.这其实是math的翻版.做完后,python既然可以轻易的完成任何的数学计算,何不用python开发一个小程序专门用以计算呢? 现在我们越来越依赖于 ...
- 作为一名Python开发,我谈Linux和mac的使用体验
我是一名Python开发,在2018.7~2021.6使用的是Linux系统 Deepin OS 作为自己的开发系统:在2022.7-至今使用的是 mac OS 系统作为开发系统. Deepin OS ...
随机推荐
- 软件工程UML第一次作业
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...
- 温故而知新--day1
温故而知新--day1 变量类型 变量是计算机存储数据的内存空间,由于计算机可以处理不同的数据,不同的数据就要定义不同的数据类型.python的数据类型很多,还可以自定义数据类型,常用的一般数据类型有 ...
- Netty学习之IO模型
目录 1.1 同步.异步.阻塞.非阻塞 同步 VS 异步 同步 异步 阻塞 VS 非阻塞 阻塞 非阻塞 举例 ...
- 九个最容易出错的 Hive sql 详解及使用注意事项
阅读本文小建议:本文适合细嚼慢咽,不要一目十行,不然会错过很多有价值的细节. 文章首发于公众号:五分钟学大数据 前言 在进行数仓搭建和数据分析时最常用的就是 sql,其语法简洁明了,易于理解,目前大数 ...
- TR2021_0000偶发数据库连接异常问题排查
[问题描述] 数据库连接异常是很难排查的一类问题.因为它牵涉到应用端,网络层和服务器端.任何一个组件异常,都会导致数据库连接失败.开发遇到数据库连接不上的问题,都会第一时间找DBA来协助查看,DBA除 ...
- Docker踩过的坑
前言 主要是记录Docker遇到的坑,更多的是因为自己的粗心大意,以此警示 正文 Dockerfile里的RUN 某一次把启动服务的命令写在了 Dockerfile 中,后来发现服务一直拉不起来. 原 ...
- (解决)easypoi模板导出多个excel文件并压缩
目录 easypoi版本--3.1.0 实现代码 后语 easypoi版本--3.1.0 实现代码 public void export(HttpServletResponse response, H ...
- 一文读懂 SuperEdge 边缘容器架构与原理
前言 superedge是腾讯推出的Kubernetes-native边缘计算管理框架.相比openyurt以及kubeedge,superedge除了具备Kubernetes零侵入以及边缘自治特性, ...
- js 数组的方法总结
1.Array.map() 此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组 let arr = [1, 2, 3, 4, 5] let newAr ...
- Docker 镜像基础(三)
基于Dockerfile制作yum版本nginx镜像 [root@node-2 ~]# mkdir /opt/nginx [root@node-2 ~]# cd /opt/nginx/ ## 创建Do ...