# coding=utf-8 from datetime import datetime from string import Template from tkinter import Image, IntVar, StringVar,filedialog, messagebox #以下是所有需获取的变量 runConfigFilename = StringVar("/etc/vsomeip") appName = StringVar(None,"tcu") serviceID = StringVar(None,"0x1000") instanceID = StringVar(None,"0x2000") use_tcp = IntVar() offer_F_F_method = IntVar() offer_R_R_method = IntVar() offer_setter = IntVar() offer_getter = IntVar() offer_event = IntVar() offer_field_notifier = IntVar() F_F_method_ids = StringVar(None,"adasOFF") R_R_method_ids = StringVar(None,"camStatus") setter_ids = StringVar(None,"limitedSpeed") getter_ids = StringVar(None,"distance") eventgroup_ids = StringVar(None,"SignDetected") event_ids = StringVar(None,"speedLimitSignDetected") field_eventgroup_ids = StringVar(None,"SignDetected") field_event_ids = StringVar(None,"speedLimitSignDetected") def generate(): filePath = r'%s_cfg_ids.hpp' % appName.get().lower() class_file = open(filePath,'w') lines = [] #模版文件 template_file = open(r'sample_cfg_ids.hpp.template','r') tmpl = Template(template_file.read()) #模版替换 lines.append(tmpl.substitute( GENE_DATE = datetime.now().strftime('%Y-%m-%d %H:%M:%S'), #代码生成日期设置 RUN_CONFIG_FILENAME = runConfigFilename.get(), APP_NAME = appName.get().upper(), #MODULE_NAME = appName.get().upper(), SERVICE_ID = serviceID.get(), INSTANCE_ID = instanceID.get(), USE_TCP = use_tcp.get(), OFFER_F_F_METHOD = offer_F_F_method.get(), OFFER_R_R_METHOD = offer_R_R_method.get(), OFFER_SETTER = offer_setter.get(), OFFER_GETTER = offer_getter.get(), OFFER_EVENT = offer_event.get(), OFFER_FIELD_EVENT = offer_field_notifier.get(), FF_METHOD_NAME = F_F_method_ids.get().upper(), RR_METHOD_NAME = R_R_method_ids.get().upper(), GET_METHOD_NAME = getter_ids.get().upper(), SET_METHOD_NAME = setter_ids.get().upper(), EVENTGROUP_NAME = eventgroup_ids.get().upper(), EVENT_NAME = event_ids.get().upper(), FIELD_EVENTGROUP_NAME = field_eventgroup_ids.get().upper(), FIELD_EVENT_NAME = field_event_ids.get().upper(), )) # 0.将生成的代码写入文件 class_file.writelines(lines) class_file.close() print('generate "%s" success. ~_~' % filePath) messagebox.showinfo("tips",'Generate "%s" success.' % filePath) def open_file(): try: global file filepath = filedialog.askopenfilename() # 打开文件,返回该文件的完整路径 runConfigFilename.set(filepath) file = Image.open(runConfigFilename.get()) except Exception as e: print("您没有选择任何文件",e) def entryState(): None # if offer_F_F_method.get(): # idEntry1.grid(row=5,column=1) # else: # idEntry1.grid_forget() # the same as grid_remove() # if offer_R_R_method.get(): # idEntry2.grid(row=6,column=1) # else: # idEntry2.grid_forget() # if offer_setter.get(): # idEntry3.grid(row=7,column=1) # else: # idEntry3.grid_forget() # if offer_getter.get(): # idEntry4.grid(row=8,column=1) # else: # idEntry4.grid_forget() # if offer_event.get(): # idEntry5.grid(sticky="w",row=9,column=1) # idEntry6.grid(sticky="e",row=9,column=1) # else: # idEntry5.grid_forget() # idEntry6.grid_forget() # if offer_field_notifier.get(): # idEntry7.grid(sticky="w",row=10,column=1) # idEntry8.grid(sticky="e",row=10,column=1) # else: # idEntry7.grid_forget() # idEntry8.grid_forget() def modifyContent(): print("modifyContent")