开发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.1 Qt Creater使用Python开发桌面软件的操作流程

    Qt Creater及Python的下载与安装过程不再赘述,读者可自行在网上搜索相应的下载与安装方法. 首先我们打开Qt Creater,单击"Create Project"按钮或 ...

  2. 用python进行桌面程序开发

    Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所 ...

  3. 实用 | 利用 aardio 配合 Python 快速开发桌面应用

    1. 前言 大家好,我是安果! 我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长 假如想快速开发一款 PC ...

  4. aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE

    网络上大家分享的 aardio + Python 混合开发的文章很多,不得不说 aardio 与 Python 混合开发是真的简单 !  快速入门 推荐几个快速上手教程:< aardio + P ...

  5. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  6. aardio 开发桌面应用,这几点必须要掌握!

    1. 前言 大家好,我是安果! 上一篇文章写到可以通过 aardio 结合 Python 开发桌面应用,有些小伙伴后台给我留言,说 Aardio 资料太少,希望我能补充一些实用的功能 实用 | 利用 ...

  7. Python开发——利用正则表达式实现计算器算法

    Python开发--利用正则表达式实现计算器算法 (1)不使用eval()等系统自带的计算方法 (2)实现四则混合运算.括号优先级解析 思路: 1.字符串预处理,将所有空格去除 2.判断是否存在括号运 ...

  8. 用Python开发实用程序 – 计算器

    一段时间前,自己制作了一个库 “sui-math”.这其实是math的翻版.做完后,python既然可以轻易的完成任何的数学计算,何不用python开发一个小程序专门用以计算呢? 现在我们越来越依赖于 ...

  9. 作为一名Python开发,我谈Linux和mac的使用体验

    我是一名Python开发,在2018.7~2021.6使用的是Linux系统 Deepin OS 作为自己的开发系统:在2022.7-至今使用的是 mac OS 系统作为开发系统. Deepin OS ...

随机推荐

  1. JUC包-原子类(AtomicInteger为例)

    目录 JUC包-原子类 为什么需要JUC包中的原子类 原子类原理(AtomicInteger为例) volatile CAS CAS的缺点 ABA问题 什么是ABA问题 ABA问题的解决办法 JUC包 ...

  2. java容器-Collection

    1.介绍    collection<E>是java中容器的最主要的接口,该接口继承于Iterable<E>,使得java中所有实现Collection<E>的容器 ...

  3. Java 8 之前的时间处理

    最近在自己瞎折腾,有一个需求是计算当前日期到指定日期有多少天,用于实现纪念日或倒计时的功能.查阅资料后发现Java 8之前的时间日期处理很是麻烦而且被频频吐槽,以至于后来在 Java 8 中推出了一个 ...

  4. maven打包时排除配置文件

    上网查了一下,直接在pom里面配置就好了,具体写法如下所示 <build> ... <resources> <resource> <directory> ...

  5. Laya 小游戏通用框架设计理念

    当前在用laya做小游戏开发,做了几个项目,总结了一下游戏中所需要的一些模块,大概理了一下,然后写成一套自己习惯使用的框架 总结了一下其中的模块 大概要分为一下模块 1.Base 模块    存放一些 ...

  6. Python3爬取小说并保存到文件

    问题 python课上,老师给同学们布置了一个问题,因为这节课上学的是正则表达式,所以要求利用python爬取小说网的任意小说并保存到文件. 我选的网站的URL是'https://www.biquka ...

  7. 天梯赛练习 L3-006 迎风一刀斩 (30分) 几何关系

    题目分析: 对于给出的两个多边形是否可以组成一个矩形,这里我们分以下几种情况讨论 1.首先对于给出的两个多边形只有3-3,3-4,3-5,4-4才有可能组成一个矩形,并且两个多边形只可能是旋转90,1 ...

  8. Spring框架之websocket源码完全解析

    Spring框架之websocket源码完全解析 Spring框架从4.0版开始支持WebSocket,先简单介绍WebSocket协议(详细介绍参见"WebSocket协议中文版" ...

  9. 【Docker】Docker概述、理解docker的集装箱、标准化、隔离的思想、 docker出现解决了什么问题

    整理一下 慕课网 第一个docker化的java应用 Docker环境下的前后端分离项目部署与运维 课程时所做的笔记 Docker概述 docker - https://www.docker.com/ ...

  10. 【Linux】服务器识别ntfs移动磁盘方法

    Linux服务器无法识别ntfs磁盘 如果想识别的话,需要安装一个包ntfs-3g 安装好后,将移动磁盘插入到服务器的usb口中 新建一个目录,将磁盘挂载在新建的目录上 挂载命令如下: mount - ...