python⽶和厘⽶转换代码_⽤Python写⼀个朴素的长度单位转
换器
⼀直想写个简单的GUI练习⼀下,于是参考(tkinter模块。
预期效果:
image.png
Python3代码:
# UnitsExchange1.0
from tkinter import * # 这样导⼊,类似 tkinter.Tk() 这种形式就可以简化为 Tk()
#### 定义换算函数 ####
def calculate(*args):
try:
# 异常处理
python代码转换# 通过此处,使⽤value将meters和cm链接起来,使得meters变量随着cm变量变化⽽变化
value = ()) # 获取输⼊
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) # 创建输⼊框
id(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('', calculate)
root.mainloop() # 进⼊消息循环(必须部件)
运⾏测试(为了使代码简洁,界⾯很朴素):
image.png
在上⾯基础上更进⼀步,不仅仅是厘⽶转换为⽶,想要有更多选择,于是将UnitsExchange1.0改写为UnitsExchange1.1版本。
1.1版本结果:
image.png
image.png
image.png
界⾯仍然很朴素,但可以有选择地换算常⽤长度单位,体现了基本过程。换算单位那⼀栏改为下拉列表应该效果更好,界⾯的布局可以使⽤tkinter 的 ttk 进⾏优化,颜⾊的设置和窗⼝的尺⼨等等。
最后,使⽤ pyInstaller 将脚本打包成exe可执⾏⽂件就Ok了。
image.png