Python | 油墨属性计算器

本计算器用于计算油墨颜色的色偏值,灰度值及色效率,在使用时需按顺序输入高中低三个密度值即可。
程序仍不完美,期待大家的指导。

from tkinter import *

'''标题'''
master = Tk()
master.title("油墨属性计算")

frame = Frame(master)
frame.pack(padx = 10,pady = 10)

v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
v4 = StringVar()
v5 = StringVar()
v6 = StringVar()


'''分别对三个输入框进行排版,并在焦点消失后对输入框内容进行检验,利用%P使输入内容可刷新'''
Label (frame,text="D高 = ").grid(row = 0,column = 0)
e1 = Entry(frame, width=10, textvariable=v1, validate='focusout', \
           validatecommand=(test, '%P')).grid(row=0, column=1)

Label (frame,text="D中 = ").grid(row = 1,column = 0)
e2 = Entry(frame,width=10,textvariable=v2,validate='focusout',\
            validatecommand=(test, '%P')).grid(row = 1,column = 1)

Label (frame,text="D低 = ").grid(row = 2,column = 0)
e3 = Entry(frame,width = 10,textvariable = v3,validate = 'focusout',\
            validatecommand = (test,'%P')).grid(row = 2,column = 1)



'''将各输入框内容进行类型转化运算,并使用正则字符串令结果以百分数形式输出'''
def ink():
    result1 =(float(v3.get())/float(v1.get()))*100
    v4.set(str('{:.1f}%'.format(result1)))

    result2 =((float(v2.get()) - float(v3.get()))/(float(v1.get())-float(v3.get())))*100
    v5.set(str('{:.1f}%'.format(result2)))

    result3 =(1-(float(v2.get())+float(v3.get()))/(2*float(v1.get())))*100
    v6.set(str('{:.1f}%'.format(result3)))



'''设置三个Entry组件把结果输出,并将输入框设置为“不可写入”状态'''
Label (frame,text = "灰度 = ").grid(row = 3,column = 0)
e4 = Entry (frame,width = 10,textvariable = v4,state = "readonly" ).grid(row = 3,column =1)


Label (frame,text = "色偏 = ").grid(row = 4,column = 0)
e5 = Entry (frame,width = 10,textvariable = v5,state = "readonly" ).grid(row = 4,column =1)

Label (frame,text = "色效率 = ").grid(row = 5,column = 0)
e6 = Entry (frame,width = 10,textvariable = v6,state = "readonly" ).grid(row = 5,column =1)



'''设置两个按钮组件,利用回调函数驱动程序或退出计算器'''
Button(frame,text ="开始计算",command = ink).grid(row = 6,column = 0,padx =10,pady = 10 )

Button(frame,text ="退出",command = frame.quit()).grid(row = 6,column = 1,padx =10,pady = 10)




mainloop()

运行效果如图:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值