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)
Exemple #4
0
 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