def SlotDealWithQuerryData(self,where,data): """处理来自数据库查询的数据""" if where.startswith('cs'):#处理数据发出的用于绘图的数据 try: if data!=(): data = np.array(data)[:, 0] self.ZaiRuWindow.addLines((0,),(tuple(data),),('r',)) else: self.SlotMessageBox('错误!','此表无数据!') except: pass print '来自数据库的数据' elif where.startswith('ex*'):#处理数据发出的用于导出的数据 where=where.lstrip('ex*')#去除信息前缀 oldfilepath,newfiledir=where.split('*')#来自哪个数据表,数据应该存储的位置 infor = FiveFileParser.readTable(oldfilepath) infor=infor[infor.keys()[0]]['cellContent']#获取文件中的表 temppath=os.path.split(oldfilepath)[1]#获取文件名 temppath=temppath.replace('.d','.txt')#替换文件后缀名 with open(os.path.join(newfiledir,temppath),'w') as f:#创建数据文件 pass #首先存储参数表 FiveFileParser.insertTable(infor,'所使用参数',os.path.join(newfiledir,temppath),-1) #创建线程来存数数据 fd=threading.Thread(target=saveData2File,args=(os.path.join(newfiledir,temppath),data)) fd.start() self.SlotMessageBox('提示','数据导出成功!')
def SlotPushbutton_UseThisPara(self): """设置使用该参数列表""" if self.tableinfor_2Save!=self.tableinfor_2:#保存修改后的参数 if self.currentfilepath is not None and self.currentfilepath['type'] == 0: FiveFileParser.updataTable(dict(self.tableinfor_2Save), 'MUBAN', self.currentfilepath['path']) self.Signal_UpdataParas.emit(dict(self.tableinfor_2Save)) #创建数据表(包含参数,用一个data来存数据在数据库中的位置) #当前参数表对应的名字,不要后缀 name="D"+os.path.split(self.currentfilepath['path'])[1].rstrip('.txt')+"时间"+time.strftime('%Y%m%d%M',time.localtime()) #检测当前名字是否合适 while os.path.exists("".join([os.path.join(self.AnotherSavingDir,name),'.d'])): name+='cp' #数据表路径 path=os.path.join(self.AnotherSavingDir,''.join([name,'.d']))#数据表后缀变为‘.d’ FiveFileParser.createTable(path) FiveFileParser.insertTable(dict(self.tableinfor_2Save), '参数',path,0) FiveFileParser.writeComments(path,'\nDataBaseDir*{}\nDataTable*{}'.format(self.AnotherSavingDir,name)) QtWidgets.QMessageBox.information(self, '提示', '参数选择成功:' '数据表为:{}\n立即搜集数据'.format(name), QtWidgets.QMessageBox.Yes) self.Signal_SaveDirChanged_ForDB.emit(self.AnotherSavingDir,name) self.Signal_UseThisParaTable.emit(name) self.Siganl_ManagerWidget.emit('ShuJuBiao',''.join(name)) self.log.info('Create DataTable: {}.d'.format(name))
def SlotPushbutton_Save_TJCS(self): """保存参数处保存按钮""" file=self.tableinfor[self.tableinfor.keys()[0]]#文件名 path=os.path.join(self.ParasDir,file) while os.path.exists("".join([path,'.txt'])): path="".join([path,'_backup']) temp = copy.deepcopy(self.tableinfor) temp.popitem(False)# temp=dict(temp) FiveFileParser.createTable("".join([path,'.txt'])) FiveFileParser.insertTable(temp,'MUBAN',"".join([path,'.txt']),0) QtWidgets.QMessageBox.information(self,'提示','保存为:\n' '{}'.format("".join([path,'.txt'])),QtWidgets.QMessageBox.Yes)
def CheckFiles(self): """检查文件是否存在""" try: for index, files in enumerate(self.FilesLists): files = os.path.normpath(files) if not os.path.exists(files): with open(files, "w") as f: self.log.info("create file:{}".format(files)) if index == 0: #"setting.txt" FiveFileParser.writeComments( files, [r'saving*{}'.format(files)]) if index == 1: table = { "省份名": "工厂名", } FiveFileParser.insertTable(table, 'regions', files, 0) if index == 2: table = { "参数表名": "0", "电厂": "0", '阀门型号': "0", '整定压力': "0", '弹簧刚度': "0", '密封面内径': "0", '密封面外径': "0", '整调螺母方数': "0", } FiveFileParser.insertTable(table, 'MUBAN0', files, 0) else: if index == 0: #"setting.txt" FiveFileParser.updateComments( files, {'usb': r'{}'.format(self.Savepath)}) return True except Exception as e: return False