from tkinter import * import app import time import batch import production import inquire import sql import tkinter.messagebox class my_param(Frame): def __init__(self, init_window_name): self.init_window_name = init_window_name self.user_var = app.user_var self.screen_width = self.user_var.screen_width self.screen_height = self.user_var.screen_height self.font_size_title = app.font_size_title self.font_size_text = app.font_size_text self.sqlclient = sql.sqlclient self.param_tbl_check() self.main_gui_init() self.title_canvas_init() self.user_frame_init() self.input_lock = False self.view_timeout = 180 self.user_var.windows_idx = 'param' self.fun_timer() def main_button_event(self): if self.input_lock == False: self.user_var.last_windows_idx = 'param' self.init_window_name.after_cancel(self.task_user) self.main_frame.destroy() app.my_gui(self.init_window_name) def data_button_event(self): if self.input_lock == False: self.user_var.last_windows_idx = 'param' print("Enter Data View!") self.init_window_name.after_cancel(self.task_user) self.main_frame.destroy() inquire.my_inquire(self.init_window_name) def product_button_event(self): if self.input_lock == False: if self.user_var.auth_stat == True: print("Please Select Production!") self.user_var.last_windows_idx = 'param' self.init_window_name.after_cancel(self.task_user) self.main_frame.destroy() production.my_production(self.init_window_name) else: tkinter.messagebox.showwarning(title='提示', message='请登录后操作!') def batchy_button_event(self): if self.input_lock == False: if self.user_var.auth_stat == True: self.user_var.last_windows_idx = 'param' self.init_window_name.after_cancel(self.task_user) self.main_frame.destroy() self.user_var.batch_sel = 'y' batch.my_batch(self.init_window_name) else: tkinter.messagebox.showwarning(title='提示', message='请登录后操作!') def param_update(self, key, value): name = key.split('_') if len(name)>=2: sqlstr = "UPDATE product_param_tbl SET " sqlstr = sqlstr + " {0}='{1}'".format(name[0], value) sqlstr = sqlstr + "WHERE product_name='{0}' and param_type={1}".format(self.user_var.product_name, name[1]) self.sqlclient.sql_action_all(sqlstr) def auth_exit(self): if self.user_var.auth_timeout > 0: self.user_var.auth_timeout = self.user_var.auth_timeout - 1 else: self.user_var.auth_stat = False def view_exit(self): if self.view_timeout > 0: self.view_timeout = self.view_timeout - 1 else: self.user_var.last_windows_idx = 'param' self.init_window_name.after_cancel(self.task_user) self.main_frame.destroy() app.my_gui(self.init_window_name) def windows_update(self): currentTime = time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(time.time())) self.timelabel.config(text=currentTime) self.auth_exit() self.init_window_name.update() self.fun_timer() self.view_exit() def fun_timer(self): self.task_user=self.init_window_name.after(1000, self.windows_update) def main_gui_init(self): self.main_frame = Frame(self.init_window_name, width=self.screen_width, height=self.screen_height) self.main_frame.pack() # 标题栏 def title_canvas_init(self): self.title_canvas = Canvas(self.main_frame, width=self.screen_width - 20, height=35, bg='SeaGreen') self.mainlabel = Label(self.title_canvas, text="参数设定", fg='yellow', font=("宋体", self.font_size_title), bg='SeaGreen', anchor='w') self.mainlabel.place(x=20, y=5) self.timelabel = Label(self.title_canvas, text=time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(time.time())), fg='yellow', font=("宋体", self.font_size_title), bg='SeaGreen', anchor='e') self.timelabel.place(x=self.title_canvas.winfo_reqwidth() - self.timelabel.winfo_reqwidth() - 20, y=5) self.title_canvas.create_line(self.mainlabel.winfo_reqwidth() / 2 + 20, 32, self.title_canvas.winfo_reqwidth() - self.timelabel.winfo_reqwidth() / 2 - 20, 32, fill='white') self.title_canvas.place(x=10, y=10) # def input_enter(self): # if len(self.input_entry.get()) > 0: # value = self.input_entry.get() # self.input_strvar.set(value) # self.param_update(self.input_var, value) # self.input_lock = False # self.input_frame.destroy() # # def input_exit(self): # self.input_lock = False # self.input_frame.destroy() # # def input_on_closing(self): # self.input_lock = False # # def input_param(self, var:str, strvar:StringVar): # if self.input_lock == False: # self.input_var = var # self.input_strvar = strvar # self.input_frame = tkinter.Tk(className='请输入值') # 弹出框框名 # self.input_frame.geometry('300x150+350+225') # 设置弹出框的大小 w x h # # self.input_value = tkinter.StringVar() # 这即是输入框中的内容 # self.input_entry = tkinter.Entry(self.input_frame, width=30) # 设置"文本变量"为var # self.input_entry.place(x=150 - self.input_entry.winfo_reqwidth() / 2, y=50) # self.input_enterbtn = tkinter.Button(self.input_frame, text='确定', width=5, # command=self.input_enter) # 按下此按钮(Input), 触发inputint函数 # self.input_cancelbtn = tkinter.Button(self.input_frame, text='取消', width=5, # command=self.input_exit) # 按下此按钮(Clear), 触发inputclear函数 # self.input_enterbtn.place(x=150-self.input_enterbtn.winfo_reqwidth() - 10, # y=100) # self.input_cancelbtn.place(x=160, y=100) # self.input_entry.focus() # self.input_entry.icursor(0) # self.input_frame.resizable(width=False, height=False) # self.input_frame.wm_attributes('-topmost', 1) # self.input_frame.attributes("-toolwindow", 2) # self.input_frame.focus_force() # self.input_frame.protocol("WM_DELETE_WINDOW", # self.input_on_closing) # self.input_lock = True # self.input_frame.mainloop() def param_tbl_check(self): sqlstr = "SELECT startuptime,airtime,presstime, testtime, exhaust, maxpress, minpress, setpress, capacity, \ posthreshold, pnegthreshold FROM product_param_tbl WHERE product_name='{0}' and \ param_type=17700".format(self.user_var.product_name) paramresult = self.sqlclient.sql_inquire_all(sqlstr) if paramresult != None and len(paramresult) > 0: for paramrow in paramresult: self.user_var.startdelay_17700_str.set(paramrow[0]) self.user_var.airtime_17700_str.set(paramrow[1]) self.user_var.presstime_17700_str.set(paramrow[2]) self.user_var.testtime_17700_str.set(paramrow[3]) self.user_var.exhaust_17700_str.set(paramrow[4]) self.user_var.maxpress_17700_str.set(paramrow[5]) self.user_var.minpress_17700_str.set(paramrow[6]) self.user_var.setpress_17700_str.set(paramrow[7]) self.user_var.capacity_17700_str.set(paramrow[8]) self.user_var.posthreshold_17700_str.set(paramrow[9]) self.user_var.pnegthreshold_17700_str.set(paramrow[10]) else: self.user_var.startdelay_17700_str.set("0") self.user_var.airtime_17700_str.set("0") self.user_var.presstime_17700_str.set("0") self.user_var.testtime_17700_str.set("0") self.user_var.exhaust_17700_str.set("0") self.user_var.maxpress_17700_str.set("0") self.user_var.minpress_17700_str.set("0") self.user_var.setpress_17700_str.set("0") self.user_var.capacity_17700_str.set("0") self.user_var.posthreshold_17700_str.set("0") self.user_var.pnegthreshold_17700_str.set("0") sqlstr = "SELECT startuptime,airtime,presstime, testtime, exhaust, maxpress, minpress, setpress, capacity, \ posthreshold, pnegthreshold FROM product_param_tbl WHERE product_name='{0}' and \ param_type=17720".format(self.user_var.product_name) paramresult = self.sqlclient.sql_inquire_all(sqlstr) if paramresult != None and len(paramresult) > 0: for paramrow in paramresult: self.user_var.startdelay_17720_str.set(paramrow[0]) self.user_var.airtime_17720_str.set(paramrow[1]) self.user_var.presstime_17720_str.set(paramrow[2]) self.user_var.testtime_17720_str.set(paramrow[3]) self.user_var.exhaust_17720_str.set(paramrow[4]) self.user_var.maxpress_17720_str.set(paramrow[5]) self.user_var.minpress_17720_str.set(paramrow[6]) self.user_var.setpress_17720_str.set(paramrow[7]) self.user_var.capacity_17720_str.set(paramrow[8]) self.user_var.posthreshold_17720_str.set(paramrow[9]) self.user_var.pnegthreshold_17720_str.set(paramrow[10]) else: self.user_var.startdelay_17720_str.set("0") self.user_var.airtime_17720_str.set("0") self.user_var.presstime_17720_str.set("0") self.user_var.testtime_17720_str.set("0") self.user_var.exhaust_17720_str.set("0") self.user_var.maxpress_17720_str.set("0") self.user_var.minpress_17720_str.set("0") self.user_var.setpress_17720_str.set("0") self.user_var.capacity_17720_str.set("0") self.user_var.posthreshold_17720_str.set("0") self.user_var.pnegthreshold_17720_str.set("0") def param_double_event(self, event, var, strvar:StringVar): print("Enter Param Value!") # if self.user_var.auth_stat == True: # self.input_param(var, strvar) # else: # tkinter.messagebox.showwarning(title='提示', message='请登录后操作!') # 输入栏 def user_frame_init(self): self.order_frame = Frame( self.main_frame, width=self.screen_width - 20, relief=SUNKEN, borderwidth=2, bg = "Skyblue", height=self.screen_height - self.title_canvas.winfo_reqheight() - 35) # 工单栏展示 self.order_frame.place(x=12, y=self.title_canvas.winfo_reqheight() + 15) self.mainbutton_canvas = Canvas(self.order_frame, bg='DarkGray', relief=SOLID, borderwidth=1, width=138, height=40) self.main_button = Button(self.mainbutton_canvas, text="返回主界面", fg='black', bg='white', width=11, activebackground='black', activeforeground='white', font=("宋体", self.font_size_title, "bold"), command=self.main_button_event) self.main_button.place(x=7, y=7) self.mainbutton_canvas.place(x=50, y=50) self.databutton_canvas = Canvas(self.order_frame, bg='DarkGray', relief=SOLID, borderwidth=1, width=138, height=40) self.data_button = Button(self.databutton_canvas, text="返回数据查询", fg='black', bg='white', width=11, activebackground='black', activeforeground='white', font=("宋体", self.font_size_title, "bold"), command=self.data_button_event) self.data_button.place(x=7, y=7) self.databutton_canvas.place(x=50, y=100) self.productbutton_canvas = Canvas(self.order_frame, bg='DarkGray', relief=SOLID, borderwidth=1, width=138, height=40) self.product_button = Button(self.productbutton_canvas, text="品番设定", fg='black', bg='white', width=11, activebackground='black', activeforeground='white', font=("宋体", self.font_size_title, "bold"), command=self.product_button_event) self.product_button.place(x=7, y=7) self.productbutton_canvas.place(x=50, y=150) self.batchybutton_canvas = Canvas(self.order_frame, bg='DarkGray', relief=SOLID, borderwidth=1, width=138, height=40) self.batchy_button = Button(self.batchybutton_canvas, text="年份批号选择", fg='black', bg='white', width=11, activebackground='black', activeforeground='white', font=("宋体", self.font_size_title, "bold"), command=self.batchy_button_event) self.batchy_button.place(x=7, y=7) self.batchybutton_canvas.place(x=50, y=200) self.paramvalue_canvas = Canvas(self.order_frame, bg='PaleGreen', relief=SOLID, borderwidth=1, width=650, height=400) self.paramvalue_canvas.place(x=250, y=50) self.param17700_title = Label(self.paramvalue_canvas, text="17700参数", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w') self.param17700_title.place(x=120, y=8) self.param17720_title = Label(self.paramvalue_canvas, text="17720参数", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w') self.param17720_title.place(x=440, y=8) self.param17700starttitle = Label(self.paramvalue_canvas, text="启动延时:", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='e', width=10) self.param17700starttitle.place(x=30, y=50) self.param17700_start = Label(self.paramvalue_canvas, textvariable=self.user_var.startdelay_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_start.bind("", lambda event: self.param_double_event(event, 'startuptime_17700', self.user_var.startdelay_17700_str)) self.param17700_start.place(x=120, y=50) self.param17700startunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700startunit.place(x=220, y=50) self.param17700airtimetitle = Label(self.paramvalue_canvas, text="充气时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700airtimetitle.place(x=30, y=80) self.param17700_airtime = Label(self.paramvalue_canvas, textvariable=self.user_var.airtime_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_airtime.bind("", lambda event: self.param_double_event(event, 'airtime_17700', self.user_var.airtime_17700_str)) self.param17700_airtime.place(x=120, y=80) self.param17700_airtimeunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_airtimeunit.place(x=220, y=80) self.param17700presstimetitle = Label(self.paramvalue_canvas, text="保压时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700presstimetitle.place(x=30, y=110) self.param17700_presstime = Label(self.paramvalue_canvas, textvariable=self.user_var.presstime_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_presstime.bind("", lambda event: self.param_double_event(event, 'presstime_17700', self.user_var.presstime_17700_str)) self.param17700_presstime.place(x=120, y=110) self.param17700_presstimeunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_presstimeunit.place(x=220, y=110) self.param17700testtimetitle = Label(self.paramvalue_canvas, text="测试时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700testtimetitle.place(x=30, y=140) self.param17700_testtime = Label(self.paramvalue_canvas, textvariable=self.user_var.testtime_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_testtime.bind("", lambda event: self.param_double_event(event, 'testtime_17700', self.user_var.testtime_17700_str)) self.param17700_testtime.place(x=120, y=140) self.param17700_testtimeunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_testtimeunit.place(x=220, y=140) self.param17700exhausttitle = Label(self.paramvalue_canvas, text="排气时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700exhausttitle.place(x=30, y=170) self.param17700_exhaust = Label(self.paramvalue_canvas, textvariable=self.user_var.exhaust_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_exhaust.bind("", lambda event: self.param_double_event(event, 'exhaust_17700', self.user_var.exhaust_17700_str)) self.param17700_exhaust.place(x=120, y=170) self.param17700_exhaustunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_exhaustunit.place(x=220, y=170) self.param17700maxpresstitle = Label(self.paramvalue_canvas, text="最大压力:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700maxpresstitle.place(x=30, y=200) self.param17700_maxpress= Label(self.paramvalue_canvas, textvariable=self.user_var.maxpress_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_maxpress.bind("", lambda event: self.param_double_event(event, 'maxpress_17700', self.user_var.maxpress_17700_str)) self.param17700_maxpress.place(x=120, y=200) self.param17700_maxpressunit = Label(self.paramvalue_canvas, text="Kpa", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_maxpressunit.place(x=220, y=200) self.param17700minpresstitle = Label(self.paramvalue_canvas, text="最小压力:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700minpresstitle.place(x=30, y=230) self.param17700_minpress = Label(self.paramvalue_canvas, textvariable=self.user_var.minpress_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_minpress.bind("", lambda event: self.param_double_event(event, 'minpress_17700', self.user_var.minpress_17700_str)) self.param17700_minpress.place(x=120, y=230) self.param17700_minpressunit = Label(self.paramvalue_canvas, text="Kpa", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_minpressunit.place(x=220, y=230) self.param17700setpresstitle = Label(self.paramvalue_canvas, text="设定压力:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700setpresstitle.place(x=30, y=260) self.param17700_setpress = Label(self.paramvalue_canvas, textvariable=self.user_var.setpress_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_setpress.bind("", lambda event: self.param_double_event(event, 'setpress_17700', self.user_var.setpress_17700_str)) self.param17700_setpress.place(x=120, y=260) self.param17700_setpressunit = Label(self.paramvalue_canvas, text="Kpa", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_setpressunit.place(x=220, y=260) self.param17700capacitytitle = Label(self.paramvalue_canvas, text="容积:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700capacitytitle.place(x=30, y=290) self.param17700_capacity = Label(self.paramvalue_canvas, textvariable=self.user_var.capacity_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_capacity.bind("", lambda event: self.param_double_event(event, 'capacity_17700', self.user_var.capacity_17700_str)) self.param17700_capacity.place(x=120, y=290) self.param17700_capacityunit = Label(self.paramvalue_canvas, text="ml", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_capacityunit.place(x=220, y=290) self.param17700posthresholdtitle = Label(self.paramvalue_canvas, text="正阈值:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700posthresholdtitle.place(x=30, y=320) self.param17700_posthreshold = Label(self.paramvalue_canvas, textvariable=self.user_var.posthreshold_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_posthreshold.bind("", lambda event: self.param_double_event(event, 'posthreshold_17700', self.user_var.posthreshold_17700_str)) self.param17700_posthreshold.place(x=120, y=320) self.param17700_posthresholdunit = Label(self.paramvalue_canvas, text="ml/min", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_posthresholdunit.place(x=220, y=320) self.param17700pnegthresholdtitle = Label(self.paramvalue_canvas, text="负阈值:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17700pnegthresholdtitle.place(x=30, y=350) self.param17700_pnegthreshold = Label(self.paramvalue_canvas, textvariable=self.user_var.pnegthreshold_17700_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17700_pnegthreshold.bind("", lambda event: self.param_double_event(event, 'pnegthreshold_17700', self.user_var.pnegthreshold_17700_str)) self.param17700_pnegthreshold.place(x=120, y=350) self.param17700_pnegthresholdunit = Label(self.paramvalue_canvas, text="ml/min", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17700_pnegthresholdunit.place(x=220, y=350) self.param17720starttitle = Label(self.paramvalue_canvas, text="启动延时:", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='e', width=10) self.param17720starttitle.place(x=350, y=50) self.param17720_start = Label(self.paramvalue_canvas, textvariable=self.user_var.startdelay_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_start.bind("", lambda event: self.param_double_event(event, 'startuptime_17720', self.user_var.startdelay_17720_str)) self.param17720_start.place(x=440, y=50) self.param17720startunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720startunit.place(x=540, y=50) self.param17720airtimetitle = Label(self.paramvalue_canvas, text="充气时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720airtimetitle.place(x=350, y=80) self.param17720_airtime = Label(self.paramvalue_canvas, textvariable=self.user_var.airtime_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_airtime.bind("", lambda event: self.param_double_event(event, 'airtime_17720', self.user_var.airtime_17720_str)) self.param17720_airtime.place(x=440, y=80) self.param17720_airtimeunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_airtimeunit.place(x=540, y=80) self.param17720presstimetitle = Label(self.paramvalue_canvas, text="保压时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720presstimetitle.place(x=350, y=110) self.param17720_presstime = Label(self.paramvalue_canvas, textvariable=self.user_var.presstime_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_presstime.bind("", lambda event: self.param_double_event(event, 'presstime_17720', self.user_var.presstime_17720_str)) self.param17720_presstime.place(x=440, y=110) self.param17720_presstimeunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_presstimeunit.place(x=540, y=110) self.param17720testtimetitle = Label(self.paramvalue_canvas, text="测试时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720testtimetitle.place(x=350, y=140) self.param17720_testtime = Label(self.paramvalue_canvas, textvariable=self.user_var.testtime_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_testtime.bind("", lambda event: self.param_double_event(event, 'testtime_17720', self.user_var.testtime_17720_str)) self.param17720_testtime.place(x=440, y=140) self.param17720_testtimeunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_testtimeunit.place(x=540, y=140) self.param17720exhausttitle = Label(self.paramvalue_canvas, text="排气时间:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720exhausttitle.place(x=350, y=170) self.param17720_exhaust = Label(self.paramvalue_canvas, textvariable=self.user_var.exhaust_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_exhaust.bind("", lambda event: self.param_double_event(event, 'exhaust_17720', self.user_var.exhaust_17720_str)) self.param17720_exhaust.place(x=440, y=170) self.param17720_exhaustunit = Label(self.paramvalue_canvas, text="sec", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_exhaustunit.place(x=540, y=170) self.param17720maxpresstitle = Label(self.paramvalue_canvas, text="最大压力:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720maxpresstitle.place(x=350, y=200) self.param17720_maxpress = Label(self.paramvalue_canvas, textvariable=self.user_var.maxpress_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_maxpress.bind("", lambda event: self.param_double_event(event, 'maxpress_17720', self.user_var.maxpress_17720_str)) self.param17720_maxpress.place(x=440, y=200) self.param17720_maxpressunit = Label(self.paramvalue_canvas, text="Kpa", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_maxpressunit.place(x=540, y=200) self.param17720minpresstitle = Label(self.paramvalue_canvas, text="最小压力:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720minpresstitle.place(x=350, y=230) self.param17720_minpress = Label(self.paramvalue_canvas, textvariable=self.user_var.minpress_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_minpress.bind("", lambda event: self.param_double_event(event, 'minpress_17720', self.user_var.minpress_17720_str)) self.param17720_minpress.place(x=440, y=230) self.param17720_minpressunit = Label(self.paramvalue_canvas, text="Kpa", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_minpressunit.place(x=540, y=230) self.param17720setpresstitle = Label(self.paramvalue_canvas, text="设定压力:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720setpresstitle.place(x=350, y=260) self.param17720_setpress = Label(self.paramvalue_canvas, textvariable=self.user_var.setpress_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_setpress.bind("", lambda event: self.param_double_event(event, 'setpress_17720', self.user_var.setpress_17720_str)) self.param17720_setpress.place(x=440, y=260) self.param17720_setpressunit = Label(self.paramvalue_canvas, text="Kpa", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_setpressunit.place(x=540, y=260) self.param17720capacitytitle = Label(self.paramvalue_canvas, text="容积:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720capacitytitle.place(x=350, y=290) self.param17720_capacity = Label(self.paramvalue_canvas, textvariable=self.user_var.capacity_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_capacity.bind("", lambda event: self.param_double_event(event, 'capacity_17720', self.user_var.capacity_17720_str)) self.param17720_capacity.place(x=440, y=290) self.param17720_capacityunit = Label(self.paramvalue_canvas, text="ml", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_capacityunit.place(x=540, y=290) self.param17720posthresholdtitle = Label(self.paramvalue_canvas, text="正阈值:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720posthresholdtitle.place(x=350, y=320) self.param17720_posthreshold = Label(self.paramvalue_canvas, textvariable=self.user_var.posthreshold_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_posthreshold.bind("", lambda event: self.param_double_event(event, 'posthreshold_17720', self.user_var.posthreshold_17720_str)) self.param17720_posthreshold.place(x=440, y=320) self.param17720_posthresholdunit = Label(self.paramvalue_canvas, text="ml/min", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_posthresholdunit.place(x=540, y=320) self.param17720pnegthresholdtitle = Label(self.paramvalue_canvas, text="负阈值:", fg='blue', font=("宋体", self.font_size_text), width=10, bg="PaleGreen", anchor='e') self.param17720pnegthresholdtitle.place(x=350, y=350) self.param17720_pnegthreshold = Label(self.paramvalue_canvas, textvariable=self.user_var.pnegthreshold_17720_str, fg='PaleGreen', font=("宋体", self.font_size_text), bg="black", anchor='c', width=10) self.param17720_pnegthreshold.bind("", lambda event: self.param_double_event(event, 'pnegthreshold_17720', self.user_var.pnegthreshold_17720_str)) self.param17720_pnegthreshold.place(x=440, y=350) self.param17720_pnegthresholdunit = Label(self.paramvalue_canvas, text="ml/min", fg='blue', font=("宋体", self.font_size_text), bg="PaleGreen", anchor='w', width=8) self.param17720_pnegthresholdunit.place(x=540, y=350)