开发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. 【译】深入理解Rust中的生命周期

    原文标题:Understanding Rust Lifetimes 原文链接:https://medium.com/nearprotocol/understanding-rust-lifetimes- ...

  2. idea中maven的安装与配置

    说明:类似maven安装和配置的帖子在网上有很多,本人也有做过参照,但是有些帖子的步骤跳跃性比较大,故此,本人整理了一下,给大家做个参考. 一.下载安装 一般都是在官网进行下载 https://mav ...

  3. DAS、SAN和NAS三种服务器存储方式 (转)

    转 :https://blog.csdn.net/fgf00/article/details/52592651    2016年09月20日 09:04:00 凌_风 一.存储的分类根据服务器类型分为 ...

  4. BPOS关于“相邻库存查询”的调整

    "相邻库存查询"的应用场景:主要是实现门店间,相互查看商品库存状况,但出于公司对门店的查看权限控制要求,不能一次性查看到相关店铺的所有库存,所以产生了"相邻库存查询&qu ...

  5. 8. 格式化器大一统 -- Spring的Formatter抽象

    目录 ✍前言 本文提纲 版本约定 ✍正文 Printer&Parser Formatter 时间日期格式化 Date类型 代码示例 JSR 310类型 整合DateTimeFormatter ...

  6. Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)

    Hola,我是 yes. 经过了 RPC 核心和 Dubbo 微内核两篇文章后,今天终于要稍稍深入一波 Dubbo 了. 作为一个通用的 RPC 框架,性能是很重要的一环,而易用性和扩展性也极为重要. ...

  7. python3 最基本且简单的实现组合设计模式

    组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体. 一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素.简单来说就是一个学校有一 ...

  8. 【ORACLE】11g rac+dg

    首先感谢群友分享的文档,在这里先感谢哆啦B梦,非常感谢 该文档主要指导如何利用现有的RAC环境搭建一套RAC与单实例的DG的环境  ============================主机配置信息 ...

  9. AWD生存之道

    比赛开始阶段 常见漏洞的防御手段:https://www.freebuf.com/articles/web/208778.html 一.登陆SSH 重点 如果ssh的密码不是随机密码,记得一开始就进行 ...

  10. 【一天一个知识点系列】- Http之状态码

    状态码 简介 HTTP 状态码负责表示客户端 HTTP 请求的返回结果. 标记服务器端的处理是否正常. 通知出现的错误等工作 作用及类别 作用:状态码告知从服务器端返回的请求结果 状态码的类别 注意: ...