美文网首页编程实践
用Python写一个朴素的长度单位转换器

用Python写一个朴素的长度单位转换器

作者: 统计学徒 | 来源:发表于2018-11-21 15:34 被阅读0次

一直想写个简单的GUI练习一下,于是参考(参考1参考2)写了一个很朴素的长度单位转换器。朴素,所以对整个过程理解起来比较容易。本次练习使用的是tkinter模块。

预期效果:


image.png

Python3代码:

# UnitsExchange1.0

from tkinter import *    # 这样导入,类似 tkinter.Tk() 这种形式就可以简化为 Tk()

#### 定义换算函数 ####
def calculate(*args):
    try:
    # 异常处理
        # 通过此处,使用value将meters和cm链接起来,使得meters变量随着cm变量变化而变化
        value = float(cm.get())     # 获取输入
        meters.set((value/100.0))   # 进行换算
    except ValueError:
        pass

#### 创建主窗口 ####
root = Tk()
root.title('Units Exchange')

####
# 在使用界面编程的时候,有些时候是需要跟踪变量的值的变化,以保证值的变更随时可以显示在界面上。
# 此处通过StringVar实现,他的函数有set(),get()等。 
cm = StringVar()          # 定义一个cm全局变量
meters = StringVar()    


cm_entry = Entry(root,textvariable=cm)             # 创建输入框
cm_entry.grid(column=2,row=1)    # 放置在2列,1行

# 将meters的结果呈现(由于链接到了cm,其值在调用calculate函数后会随着cm变化)
Label(root,textvariable=meters).grid(column=2,row=2)

# 创建一个“换算”按钮
Button(root,text='换算',command=calculate).grid(column=3,row=3)

# 创建静态文本部件
Label(root, text="cm").grid(column=3, row=1)
Label(root, text="is equivalent to").grid(column=1, row=2)
Label(root, text="meters").grid(column=3, row=2)

# 如果用户按下回车键,和点击换算按钮一样,启动换算
root.bind('<Return>', calculate)

root.mainloop()    # 进入消息循环(必须部件)

运行测试(为了使代码简洁,界面很朴素):


image.png

在上面基础上更进一步,不仅仅是厘米转换为米,想要有更多选择,于是将UnitsExchange1.0改写为UnitsExchange1.1版本。

1.1版本结果:

image.png
image.png
image.png

界面仍然很朴素,但可以有选择地换算常用长度单位,体现了基本过程。换算单位那一栏改为下拉列表应该效果更好,界面的布局可以使用 tkinter 的 ttk 进行优化,颜色的设置和窗口的尺寸等等。
参考3:tkinter模块常用参数(python3)

最后,使用 pyInstaller 将脚本打包成exe可执行文件就Ok了。

image.png

相关文章

  • 对于之前长度单位转换器的改写

    之前写了一个很朴素的长度单位换算器(用Python写一个朴素的长度单位转换器),现在进行了一次改写,对比效果如下(...

  • 用Python写一个朴素的长度单位转换器

    一直想写个简单的GUI练习一下,于是参考(参考1,参考2)写了一个很朴素的长度单位转换器。朴素,所以对整个过程理解...

  • css 长度单位转换器

    由来 这是一个重构工具,试过有项目,本来用着 px 写单位,后来使用 rem 做适配,就要变更单位,有一些项目本来...

  • css 单位和值

    css 单位和值 一、绝对长度单位 常用的绝对长度单位: px pixel 是 CSS 中最常用的长度单位,可以用...

  • 几个CSS的单位你需要了解一下

    css长度单位 css 长度单位一般我们分为绝对长度单位和相对长度单位 绝对长度单位 绝对长度单位是一个固定的值,...

  • 长度单位、calc() 表达式

    长度单位 绝对长度单位 绝对长度单位代表一个物理测量 字体相关相对长度单位 长度值目前比较常用的是:px(像素)、...

  • CAD中的比例和出图比例是什么意思?

    1.图纸比例栏的比例1:4表示图线1个单位长度(图线的真实长度,用尺子在图纸上量出来的长度)代表实物的4个单位长度...

  • css 中 font-size:62.5% 与 px em re

    写 html 发现别人这么写: 这是什么意思,怎么用呢?了解 CSS 中 px、em、rem 这三个长度单位就知道...

  • 字符串匹配

    朴素字符串匹配算法 这里假设text是一个文本,长度为n。pattern是需要匹配的子串,长度为m。 朴素字符串匹...

  • 彻底了解CSS中的长度单位

    彻底了解CSS中的长度单位 标签(空格分隔): CSS 我们在写css的时候最常用的长度单位是px(像素),经常看...

网友评论

    本文标题:用Python写一个朴素的长度单位转换器

    本文链接:https://www.haomeiwen.com/subject/uvhcqqtx.html