Пример #1
0
 def actionConfig(self):
     """根据配置对话框的内容获取相关参数"""
     config_dialog = ConfigDialog(self.tcp_link.getLineState)
     config_dialog.show()
     config_dialog.exec_()
     if config_dialog.getPassFlag():
         self.group_digital = [(i[0].text(), i[1].isChecked())
                               for i in config_dialog.group_digital]
         self.group_press = [(i[0].text(), i[1].isChecked(),
                              i[2].currentIndex())
                             for i in config_dialog.group_press]
         self.group_speed_trigger = [
             config_dialog.speed_chk.isChecked(),
             config_dialog.trigger_combo.currentIndex()
         ]
         #测试项目,项目名称,测试人员,测试日期
         self.groupNPTInfo = [
             config_dialog.testProject.currentIndex(),
             config_dialog.projectName_edit.text(),
             config_dialog.person_edit.text(),
             config_dialog.time_edit.text()
         ]
         #测试时长
         self.measure_time = config_dialog.measureTime
         #测试距离
         self.measure_distance = config_dialog.measureDistance
         #set默认通道
         self.default_press = config_dialog.default_press.currentIndex()
         #设置默认膛压通道
         self.notice_window.setDefault(self.default_press)
         self.default_digital = config_dialog.default_digital.currentIndex()
         self.tcp_link.setPressChannel(self.default_press)
         self.tcp_link.setDigitalChannel(self.default_digital)
         self.tcp_link.setThresholdPress(config_dialog.threshold_press)
         self.tcp_link.setCalibration(config_dialog.calibration)
         self.tcp_link.setSpeedFactor(self.groupNPTInfo[0])
         #需要绘制的坐标系
         self.exist_axis = []
         #需要调整宽度的坐标系
         axis_num = []
         for i, j in enumerate(self.group_press):
             if j[1]:
                 self.exist_axis.append(i)
                 axis_num.append((i, j[2]))
                 self.scaleFactor[i] = self.scaleRegion[j[2]]
                 #if j[0]:
                 #self.report['PRESS'][i] = j[0]
                 #else:
                 #self.report['PRESS'][i] = u'通道%d' %(i + 1)
             else:
                 self.scaleFactor[i] = 0
                 #self.report['PRESS'][i] = None
         for i, j in enumerate(self.group_digital):
             if j[1]:
                 self.exist_axis.append(i + 6)
                 #if j[0]:
                 #self.report['DIGITAL'][i] = j[0]
                 #else:
                 #self.report['DIGITAL'][i] = '通道%d' %(i + 1)
             #else:
             #self.report['DIGITAL'][i] = None
         if self.group_speed_trigger[0]:
             self.exist_axis.extend([10, 11, 12])
             if self.groupNPTInfo[0] == 0:
                 axis_num.append((12, 1))
             else:
                 axis_num.append((12, 4))
         self.tcp_link.setFactor(self.scaleFactor[:])
         #print self.scaleFactor
         self.curve_window.produceAxis(self.exist_axis[:])
         for i in (axis_num):
             self.curve_window.setTicker(i[0], i[1])
         #开始根据配置获取需求值并显示当前压力
         self.tcp_link.setTestFlag(False)
         self.tcp_link.setCurrentFlag(True)
         #报告关键值
         #序列号
         self.report['SERIAL'] = self.groupNPTInfo[1]
         _test_type = [u'鱼雷', u'诱饵']
         self.report['TYPE'] = _test_type[self.groupNPTInfo[0]]
         _trigger = [u'自动触发', u'手动触发', u'外触发']
         self.report['TRIGGER'] = _trigger[
             self.group_speed_trigger[1]]  #触发方式
         self.report['PERSON'] = self.groupNPTInfo[2]  #测试人员
         self.report['DATE'] = self.groupNPTInfo[3]  #测试日期
         self.tcp_link.setCurrentFlag(True)
         self.actionOrder('ready')
         #print self.measure_distance
     self.configuration_window.readConfig()