开发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. Node 跨域问题 Access to XMLHttpRequest at 'http://localhost:8080/api/user/login' from origin 'http://localhost:808

    人不可能踏进同一条河流,我可以一天在同一个问题上摔倒两次. 这次是跨域问题,都是泪,教程提供的服务端代码虽然配置了文件,但是依然是没有解决跨域问题,依然报错 Request header field ...

  2. hdfs读写删除过程解析

    一.hdfs文件读取过程 hdfs有一个FileSystem实例,客户端通过调用这个实例的open()方法就可以打开系统中希望读取的文件,hdfs通过rpc协议调用Nadmenode获取block的位 ...

  3. 风炫安全web安全学习第三十六节课-15种上传漏洞讲解(一)

    风炫安全web安全学习第三十六节课 15种上传漏洞讲解(一) 文件上传漏洞 0x01 漏洞描述和原理 文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把 ...

  4. Npoi XWPF Word 导出时插入图片无法显示 bug 完美解决

    一.来自客户的需求 最近客户来个新需求生成一个word 标签纸,并且需要在标签纸上插入一个logo,并且将erp 中的数据取出来自动写在文档上,不由得淡淡一笑,这不难呀! 于是乎我就写下了这样的代码: ...

  5. ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤

    产生问题的原因主要以下两点:1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况:2. 有较大事务没有收缩或者没有提交所导制:说明:本问题在ORACLE系统管理中属于比较正 ...

  6. 浅谈TypeScript,配置文件以及数据类型

    TypeScript在javaScript基础上多了一些拓展特性,多出来的是一些类型系统以及对ES6新特性的支持最终会编译成原始的javaScript, 文件名以.ts结尾,编译过后.js结尾,在an ...

  7. 【MySQL 基础】MySQL必知必会

    MySQL必知必会 简介 <MySQL必知必会>的学习笔记和总结. 书籍链接 了解SQL 数据库基础 什么是数据库 数据库(database):保存有组织的数据的容器(通常是一个文 件或一 ...

  8. LeetCode283 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作, ...

  9. golang遍历时修改被遍历对象

    目录 前言 遍历切片 遍历map 总结 前言 很多时候需要将遍历对象中去掉某些元素,或者往遍历对象中添加元素,这时候就需要小心操作了. 对于go语言中的一些注意事项我做了总结和示例,留下点笔记. 遍历 ...

  10. ps的参数解释

    [root@bogon ~]# ps axuUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND user启动进程的用户 pid  表示进程标志 ...