Python3 TKinter 小练习温度转换


from tkinter import *
from converters import * #导入conventr

class App:

    def __init__(self,master):
        self.t_conv = ScaleAndOffsetConverter('C','F',1.8,32)
        #创建一个Frame实例
        frame = Frame(master)
        #界面中放置一个frame
        frame.pack()
        #在frame中第1行第1列放置一个Label标签 deg C 摄氏度
        Label(frame,text='deg C').grid(row=0,column=0)
        
        self.c_var =DoubleVar()
        #在frame中第1行第2列放置一个Entry文本框
        Entry(frame,textvariable=self.c_var).grid(row=0,column=1)
        #在frame中第2行第1列放置一个Label标签,用来输入要转换的 deg C 摄氏温度
        Label(frame,text='deg F').grid(row=1,column=0)
        
        #在frame中第2行第2列放置一个Label标签,用来显示转换结果 deg F 华氏温度
        self.result_var = DoubleVar()
        
        #Label(frame,textvariable=self.result_var).grid(row=1,column=1)
        Label(frame,textvariable=self.result_var).grid(row=1,column=1)
        
        #在frame中创建一个button实例
        button = Button(frame, text='Convert', command=self.convert)
        
        #在frame中第3行放置这个button
        button.grid(row=2,columnspan=2)
        
    def convert(self):
        #获取Entry文本框的值self.c_var
        c = self.c_var.get()
        #设置转换结果Label标签 deg F 华氏温度的值
        self.result_var.set(self.t_conv.convert(c))
        


root = Tk()
root.wm_title('Temp Converter')
app = App(root)
root.mainloop()
              
class ScaleConverter:
	
	def __init__(self, units_from, units_to, factor):
		self.units_from = units_from
		self.units_to = units_to
		self.factor = factor
	
	def description(self):
		return 'Convert ' + self.units_from + ' to ' + self.units_to

	def convert(self, value):
		return value * self.factor

class ScaleAndOffsetConverter(ScaleConverter):
	
	def __init__(self, units_from, units_to, factor, offset):
		ScaleConverter.__init__(self, units_from, units_to, factor)
		self.offset = offset
		
	def convert(self, value):
		return value * self.factor + self.offset

有用的参考:

https://www.cnblogs.com/aland-1415/p/6849193.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值