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 ...
随机推荐
- MyArray框架搭建与实现
#include<iostream> using namespace std; template<class T> class MyArray { public: //构造函数 ...
- SpringBoot 集成Elasticsearch进行简单增删改查
一.引入的pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- memcached的安装教程
在windows系统上安装memcached 下载安装软件memcached-1.2.6-win32-bin.zip 解压该文件把memcached.exe 拷贝到你的 apache同一目录 安装该m ...
- Mirai框架qq机器人教程
Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...
- 【ASM】查看ASM磁盘组剩余容量和总容量
col total_size for a10; col free_size for a20; select name,total_mb/1024 || 'G' as total_size , free ...
- 【ORACLE】ASMM和AMM的相关问题
转自:http://m.blog.itpub.net/31397003/viewspace-2137469/ 关于ASMM和AMM http://blog.itpub.net/29800581/vie ...
- ECC 6 debuging中create points
2013-12-07 今天无意中,发现,在ECC6中debug的时候,创建动态断点,对于command中的delete from语句居然无效,唉 虽然设置了DELETE 和DELETE FROM两个动 ...
- 09--Docker 安装tomcat9
1.在hub.docker.com中获取tomcat拉取地址 docker pull tomcat:9.0.41-jdk8-corretto 2.查看Dockerfile 中WORKDIR 为/use ...
- 远程部署项目,修改catalina.bat文件 完美解决在代理服务器上HttpURLConnection 调接口超时的问题
远程给客户部署项目,运行时程序调外部接口时总是出不去,经过不懈努力,后来发现客户那边的网络走的是代理,于是在代码中加下面代码: //设置代理 System.setProperty("http ...
- postgres模糊匹配大杀器
ArteryBase-模糊匹配大杀器 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser),使用全文 ...