import time, csv, sys
from PyQt5 import QtWidgets
from fluke8845A import Ui_MainWindow
from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo
from PyQt5.QtCore import QThread, pyqtSignal, QObject, QMutex
from PyQt5.QtWidgets import QMessageBox, QLCDNumber, QButtonGroup
uart_name_list= list()
count = int(0)
uart_desc_list = list()
num_A = str(0)
num_B = str(0)
f = int(0)
mode = int(0)
cb_adc_mode = int(0)
cb_meter_mode = int(0)
lock1 = QMutex()
lock2 = QMutex()
data_dic = {
'btn_count': 0, 'min_data': 0.0, 'max_data': 0.0,
'volt_step': 0, 'time_dura': 0, 'dac_num': 0.0,
'fp': 0, 'lcc1_num': 0, 'lcc1_flag': 1,
'test_count': 0, 'adc': 0, 'meter': 0, 'fluke_num': 0,
'channel': 0, 'read_count': 0}
class write_work(QObject):
lcc1_fluke_write = pyqtSignal()
def __init__(self):
super(write_work, self).__init__()
self.run = True
self.write_delay = 0.4
def work(self):
global data_dic
while self.run:
lock2.lock()
self.lcc1_fluke_write.emit()
time.sleep(float(self.write_delay))
lock1.unlock()
class read_work(QObject):
lcc1_fluke_read = pyqtSignal()
def __init__(self):
super(read_work, self).__init__()
self.run = True
self.read_delay = 0.4
def work(self):
global data_dic
while self.run:
lock1.lock()
self.lcc1_fluke_read.emit()
time.sleep(float(self.read_delay))
lock2.unlock()
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, parent = None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.tab_uart()
self.volt_display()
self.my_write_thread = QThread()
self.my_write_work = write_work()
self.my_read_thread = QThread()
self.my_read_work = read_work()
self.four_checkbox_init()
self.select_adc_meter()
self.setSignalSlot()
def uart_init(self):
global uart_name_list, uart_desc_list, count
self.com1 = QSerialPort()
self.com2 = QSerialPort()
port_numb = QSerialPortInfo.availablePorts()
for info in port_numb:
if info.portName().count('COM', 0, len(info.portName())) != 0:
uart_str_desc = info.description().split()
uart_str_name = info.portName().split()
uart_name_list.append(uart_str_name[0])
uart_desc_list.append(uart_str_desc[0])
else:
count = str(uart_name_list).count('COM', 0, len(str(uart_name_list)))
if count > 256:
QMessageBox.critical(self, '错误', '连接串口太多')
else:
self.fluke_com.clear()
self.Lcc1_com.clear()
for i in range(0, count):
self.fluke_com.addItem(uart_name_list[i] + ' ' + uart_desc_list[i])
self.Lcc1_com.addItem(uart_name_list[i] + ' ' + uart_desc_list[i])
def setSignalSlot(self):
self.fluke_btn_open.clicked.connect(self.fluke_open_port)
self.fluke_btn_close.clicked.connect(self.fluke_close_port)
self.Lcc1_btn_open.clicked.connect(self.lcc1_open_port)
self.Lcc1_btn_close.clicked.connect(self.lcc1_close_port)
self.btn_dac_output.clicked.connect(self.transmit_A_volt)
self.btn_dac_output.clicked.connect(self.meas_fluke_volt)
self.btn_dac_output_2.clicked.connect(self.transmit_B_volt)
self.btn_dac_output_2.clicked.connect(self.meas_fluke_volt)
self.btn_dac_inc.clicked.connect(self.btn_A_inc)
self.btn_dac_inc.clicked.connect(self.meas_fluke_volt)
self.btn_dac_dec.clicked.connect(self.btn_A_dec)
self.btn_dac_dec.clicked.connect(self.meas_fluke_volt)
self.btn_dac_inc_2.clicked.connect(self.btn_B_inc)
self.btn_dac_inc_2.clicked.connect(self.meas_fluke_volt)
self.btn_dac_dec_2.clicked.connect(self.btn_B_dec)
self.btn_dac_dec_2.clicked.connect(self.meas_fluke_volt)
self.btn_autotest_start.clicked.connect(self.autotest_start)
self.my_write_work.lcc1_fluke_write.connect(self.lcc1_fluke_write)
self.my_read_work.lcc1_fluke_read.connect(self.lcc1_fluke_read)
self.my_write_work.moveToThread(self.my_write_thread)
self.my_read_work.moveToThread(self.my_read_thread)
self.my_write_thread.started.connect(self.my_write_work.work)
self.my_read_thread.started.connect(self.my_read_work.work)
self.btn_autotest_stop.clicked.connect(self.stop_autotest)
def fluke_open_port(self):
global uart_desc_list, uart_name_list, count
for i in range(0, count):
if (uart_name_list[i] + ' ' + uart_desc_list[i]) == self.fluke_com.currentText():
self.com1.setPortName(uart_name_list[i])
self.com1.setBaudRate(QSerialPort.Baud115200)
self.com1.setDataBits(QSerialPort.Data8)
self.com1.setStopBits(QSerialPort.OneStop)
self.com1.setParity(QSerialPort.NoParity)
self.com1.open(QSerialPort.ReadWrite)
if self.com1.isOpen():
self.fluke_link_status.setText("已连接")
else:
QMessageBox.critical(self, '错误', '串口打开失败')
tx_data = "SYST:REM\r"
self.com1.write(tx_data.encode('ascii'))
def fluke_close_port(self):
tx_data = "SYST:LOC\r"
self.com1.write(tx_data.encode('ascii'))
self.com1.close()
self.fluke_link_status.setText("未连接")
def lcc1_open_port(self):
global uart_desc_list, uart_name_list, count
for i in range(0, count):
if (uart_name_list[i] + ' ' + uart_desc_list[i]) == self.Lcc1_com.currentText():
self.com2.setPortName(uart_name_list[i])
self.com2.setBaudRate(QSerialPort.Baud115200)
self.com2.setDataBits(QSerialPort.Data8)
self.com2.setStopBits(QSerialPort.OneStop)
self.com2.setParity(QSerialPort.NoParity)
self.com2.open(QSerialPort.ReadWrite)
if self.com2.isOpen():
self.Lcc1_link_status.setText("已连接")
else:
QMessageBox.critical(self, '错误', '串口打开失败')
def lcc1_close_port(self):
self.com2.close()
self.Lcc1_link_status.setText("未连接")
def tab_uart(self):
self.tabWidget.setTabText(0, "Fluke")
self.tabWidget.setTabText(1, "LCC1")
self.uart_init()
def transmit_A_volt(self):
global num_A
num_A = self.le_dac_A_Input.text()
if len(num_A) == 0:
QMessageBox.critical(self, '错误', '电压值不能为空')
else:
tx_data_A = 'SCA 1 %s\r' % num_A
print(tx_data_A)
self.com2.write(tx_data_A.encode('ascii'))
def btn_A_inc(self):
global num_A
num = self.le_dac_A_Input.text()
if len(num) == 0:
QMessageBox.critical(self, '错误', '电压值不能为空')
else:
int_num = int(num)
int_num += 1
self.le_dac_A_Input.setText(str(int_num))
self.transmit_A_volt()
def btn_A_dec(self):
global num_A
num = self.le_dac_A_Input.text()
if len(num) == 0:
QMessageBox.critical(self, '错误', '电压值不能为空')
else:
int_num = int(num)
int_num -= 1
self.le_dac_A_Input.setText(str(int_num))
self.transmit_A_volt()
def transmit_B_volt(self):
global num_B
num_B = self.le_dac_B_Input.text()
if len(num_B) == 0:
QMessageBox.critical(self, '错误', '电压值不能为空')
else:
tx_data_B = 'SCA 2 %s\r' % num_B
self.com2.write(tx_data_B.encode('ascii'))
def btn_B_inc(self):
global num_B
num = self.le_dac_B_Input.text()
if len(num) == 0:
QMessageBox.critical(self, '错误', '电压值不能为空')
else:
int_num = int(num)
int_num += 1
self.le_dac_B_Input.setText(str(int_num))
self.transmit_B_volt()
def btn_B_dec(self):
global num_B
num = self.le_dac_B_Input.text()
if len(num) == 0:
QMessageBox.critical(self, '错误', '电压值不能为空')
else:
int_num = int(num)
int_num -= 1
self.le_dac_B_Input.setText(str(int_num))
self.transmit_B_volt()
def receive_adc_volt(self):
global data_dic
rx_data = self.com2.readAll()
if len(rx_data) == 0:
print("no message\r\n")
else:
data = (float(rx_data) * 1000.0)
self.adc_volt_show.display(data)
def volt_display(self):
self.adc_volt_show.setDigitCount(8)
self.adc_volt_show.setMode(QLCDNumber.Dec)
self.adc_volt_show.setSegmentStyle(QLCDNumber.Flat)
self.meter_volt_show.setDigitCount(8)
self.meter_volt_show.setMode(QLCDNumber.Dec)
self.meter_volt_show.setSegmentStyle(QLCDNumber.Flat)
self.dac_volt_display.setDigitCount(8)
self.dac_volt_display.setMode(QLCDNumber.Dec)
self.dac_volt_display.setSegmentStyle(QLCDNumber.Flat)
self.meter_volt_display.setDigitCount(8)
self.meter_volt_display.setMode(QLCDNumber.Dec)
self.meter_volt_display.setSegmentStyle(QLCDNumber.Flat)
self.adc_volt_display.setDigitCount(8)
self.adc_volt_display.setMode(QLCDNumber.Dec)
self.adc_volt_display.setSegmentStyle(QLCDNumber.Flat)
def four_checkbox_init(self):
mode_cb_group = QButtonGroup()
channel_cb_group = QButtonGroup()
self.cb_auto.setCheckable(True)
self.cb_manul.setCheckable(True)
mode_cb_group.addButton(self.cb_manul, 0)
mode_cb_group.addButton(self.cb_auto, 1)
mode_cb_group.setExclusive(True)
channel_cb_group.addButton(self.cb_channel_A, 0)
channel_cb_group.addButton(self.cb_channel_B, 1)
channel_cb_group.setExclusive(True)
self.cb_manul.clicked.connect(self.set_manul_mode)
self.cb_auto.clicked.connect(self.set_auto_mode)
self.cb_channel_A.clicked.connect(self.set_channel_A)
self.cb_channel_B.clicked.connect(self.set_channel_B)
def set_manul_mode(self):
global mode
if self.cb_manul.isChecked():
mode = int(1)
self.cb_manul.setChecked(True)
self.cb_auto.setChecked(False)
print("mode = %d" % mode)
self.com1.readyRead.connect(self.receive_fluke_volt)
self.com2.readyRead.connect(self.receive_adc_volt)
def set_auto_mode(self):
global mode
if self.cb_auto.isChecked():
mode = int(2)
self.cb_manul.setChecked(False)
self.cb_auto.setChecked(True)
print("mode = %d" % mode)
def set_channel_A(self):
global data_dic
data_dic['channel'] = int(1)
self.cb_channel_A.setChecked(True)
self.cb_channel_B.setChecked(False)
def set_channel_B(self):
global data_dic
data_dic['channel'] = int(2)
self.cb_channel_A.setChecked(False)
self.cb_channel_B.setChecked(True)
def select_adc_meter(self):
mode_cb_group = QButtonGroup()
self.cb_adc.setCheckable(True)
self.cb_meter.setCheckable(True)
mode_cb_group.addButton(self.cb_adc, 0)
mode_cb_group.addButton(self.cb_meter, 1)
mode_cb_group.setExclusive(False)
self.cb_adc.clicked.connect(self.set_adc_mode)
self.cb_meter.clicked.connect(self.set_meter_mode)
def set_adc_mode(self):
global cb_adc_mode
if self.cb_adc.isChecked():
cb_adc_mode = int(1)
else:
cb_adc_mode = int(0)
print("cb_adc = %d" % cb_adc_mode)
def set_meter_mode(self):
global cb_meter_mode
if self.cb_meter.isChecked():
cb_meter_mode = int(1)
else:
cb_meter_mode = int(0)
print("cb_meter = %d" % cb_meter_mode)
def meas_fluke_volt(self):
tx_data = "MEAS:VOLT:DC? 35\r"
self.com1.write(tx_data.encode())
def receive_fluke_volt(self):
rx_data = self.com1.readAll()
if len(rx_data) < 15:
self.com1.clear()
else:
data = (float(rx_data) * 1000.0)
self.meter_volt_show.display(data)
return data
def lcc1_fluke_write(self):
global data_dic, f, cb_meter_mode, cb_adc_mode
if data_dic['lcc1_flag'] == 1:
data_dic['min_data'] = self.le_voltmin_input.text()
data_dic['max_data'] = self.le_voltmax_input.text()
data_dic['volt_step'] = self.LE_VoltageStepLen.text()
data_dic['min_data'] = float(data_dic['min_data'])
data_dic['min_data'] = data_dic['min_data'] * 1000.0
data_dic['max_data'] = float(data_dic['max_data'])
data_dic['max_data'] = data_dic['max_data'] * 1000.0
result = data_dic['max_data'] - data_dic['min_data']
data_dic['volt_step'] = float(data_dic['volt_step'])
data_dic['test_count'] = int(result / data_dic['volt_step'])
data_dic['lcc1_num'] = int(0)
data_dic['lcc1_flag'] += 1
if data_dic['lcc1_num'] <= data_dic['test_count']:
tx_data_com1 = "MEAS:VOLT:DC? 35\r"
data_dic['dac_num'] = int(data_dic['min_data'] + (data_dic['lcc1_num'] * data_dic['volt_step']))
tx_data_com2 = 'SCA {0} {1}\r'.format(data_dic['channel'], data_dic['dac_num'])
try:
self.com1.write(tx_data_com1.encode('ascii'))
self.com2.write(tx_data_com2.encode('ascii'))
except:
print("write error")
finally:
data_dic['lcc1_num'] += 1
else:
self.my_write_thread.quit()
self.my_write_work.run = False
def lcc1_fluke_read(self):
global data_dic, cb_adc_mode, cb_meter_mode
rows = []
t = []
if cb_meter_mode == 1 and cb_adc_mode == 0:
try:
rx_data_com1 = self.com1.readAll()
data_dic['read_count'] += 1
tx_data_com1 = (float(rx_data_com1) * 1000.0)
self.dac_volt_display.display(data_dic['dac_num'])
self.meter_volt_display.display(tx_data_com1)
data_dic['meter'] = tx_data_com1
t.append(data_dic['lcc1_num'])
t.append(data_dic['dac_num'])
t.append(data_dic['adc'])
t.append(data_dic['meter'])
rows.append(t)
data_dic['fp'].writerows(rows)
except:
print("read error")
if int(data_dic['read_count']) > data_dic['test_count']:
self.my_read_thread.quit()
self.my_read_work.run = False
if cb_meter_mode == 0 and cb_adc_mode == 1:
try:
rx_data_com2 = self.com2.readAll()
data_dic['read_count'] += 1
tx_data_com2 = (float(rx_data_com2) * 1000.0)
self.dac_volt_display.display(data_dic['dac_num'])
self.adc_volt_display.display(tx_data_com2)
data_dic['adc'] = tx_data_com2
t.append(data_dic['lcc1_num'])
t.append(data_dic['dac_num'])
t.append(data_dic['adc'])
rows.append(t)
data_dic['fp'].writerows(rows)
except:
print("read error")
if int(data_dic['read_count']) > data_dic['test_count']:
self.my_read_thread.quit()
self.my_read_work.run = False
if cb_adc_mode == 1 and cb_meter_mode == 1:
try:
rx_data_com1 = self.com1.readAll()
rx_data_com2 = self.com2.readAll()
data_dic['read_count'] += 1
tx_data_com1 = (float(rx_data_com1) * 1000.0)
tx_data_com2 = (float(rx_data_com2) * 1000.0)
self.dac_volt_display.display(data_dic['dac_num'])
self.meter_volt_display.display(tx_data_com1)
self.adc_volt_display.display(tx_data_com2)
data_dic['adc'] = tx_data_com2
data_dic['meter'] = tx_data_com1
t.append(data_dic['lcc1_num'])
t.append(data_dic['dac_num'])
t.append(data_dic['adc'])
t.append(data_dic['meter'])
rows.append(t)
data_dic['fp'].writerows(rows)
except:
print("read error")
if int(data_dic['read_count']) > data_dic['test_count']:
self.my_read_thread.quit()
self.my_read_work.run = False
def autotest_start(self):
global data_dic, f
data_dic['time_dura'] = self.LE_TestDuration.text()
data_dic['time_dura'] = float(data_dic['time_dura'])
data_dic['time_dura'] = data_dic['time_dura'] / 1000.0
data_dic['btn_count'] += 1
localtime = time.asctime(time.localtime(time.time()))
l_time = localtime.replace(':', '_')
header = ['num', 'dac', 'adc', 'meter']
if data_dic['btn_count'] == 1:
f = open('LCC1_Volt_Test {0}.csv'.format(l_time), 'w', newline='')
data_dic['fp'] = csv.writer(f)
data_dic['fp'].writerow(header)
t = data_dic['btn_count'] % 2
if t == 0:
self.btn_autotest_start.setText("开始")
self.my_write_work.run = False
self.my_read_work.run = False
else:
self.btn_autotest_start.setText("暂停")
lock1.lock()
self.my_write_thread.start()
self.my_read_thread.start()
self.my_write_work.write_delay = data_dic['time_dura']
self.my_read_work.read_delay = data_dic['time_dura']
self.my_write_work.run = True
self.my_read_work.run = True
def stop_autotest(self):
global f
f.close()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
Fluke8845A = MainWindow()
Fluke8845A.show()
sys.exit(app.exec_())
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(700, 450)
MainWindow.setFixedSize(700, 450)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
MainWindow.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("bitbug_favicon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setInputMethodHints(QtCore.Qt.ImhNone)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(510, 0, 191, 341))
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.gridLayout_2 = QtWidgets.QGridLayout(self.tab)
self.gridLayout_2.setObjectName("gridLayout_2")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.fluke_link_status = QtWidgets.QLabel(self.tab)
self.fluke_link_status.setAlignment(QtCore.Qt.AlignCenter)
self.fluke_link_status.setObjectName("fluke_link_status")
self.gridLayout.addWidget(self.fluke_link_status, 0, 0, 1, 1)
self.fluke_com = QtWidgets.QComboBox(self.tab)
self.fluke_com.setObjectName("fluke_com")
self.fluke_com.addItem("")
self.gridLayout.addWidget(self.fluke_com, 1, 0, 1, 1)
self.fluke_baud = QtWidgets.QComboBox(self.tab)
self.fluke_baud.setObjectName("fluke_baud")
self.fluke_baud.addItem("")
self.fluke_baud.addItem("")
self.gridLayout.addWidget(self.fluke_baud, 2, 0, 1, 1)
self.fluke_data_len = QtWidgets.QComboBox(self.tab)
self.fluke_data_len.setObjectName("fluke_data_len")
self.fluke_data_len.addItem("")
self.fluke_data_len.addItem("")
self.gridLayout.addWidget(self.fluke_data_len, 3, 0, 1, 1)
self.fluke_stopbit = QtWidgets.QComboBox(self.tab)
self.fluke_stopbit.setObjectName("fluke_stopbit")
self.fluke_stopbit.addItem("")
self.fluke_stopbit.addItem("")
self.fluke_stopbit.addItem("")
self.gridLayout.addWidget(self.fluke_stopbit, 4, 0, 1, 1)
self.fluke_parity = QtWidgets.QComboBox(self.tab)
self.fluke_parity.setObjectName("fluke_parity")
self.fluke_parity.addItem("")
self.fluke_parity.addItem("")
self.fluke_parity.addItem("")
self.gridLayout.addWidget(self.fluke_parity, 5, 0, 1, 1)
self.fluke_btn_open = QtWidgets.QPushButton(self.tab)
self.fluke_btn_open.setObjectName("fluke_btn_open")
self.gridLayout.addWidget(self.fluke_btn_open, 6, 0, 1, 1)
self.fluke_btn_close = QtWidgets.QPushButton(self.tab)
self.fluke_btn_close.setObjectName("fluke_btn_close")
self.gridLayout.addWidget(self.fluke_btn_close, 7, 0, 1, 1)
self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.gridLayout_4 = QtWidgets.QGridLayout(self.tab_2)
self.gridLayout_4.setObjectName("gridLayout_4")
self.gridLayout_3 = QtWidgets.QGridLayout()
self.gridLayout_3.setObjectName("gridLayout_3")
self.Lcc1_link_status = QtWidgets.QLabel(self.tab_2)
self.Lcc1_link_status.setAlignment(QtCore.Qt.AlignCenter)
self.Lcc1_link_status.setObjectName("Lcc1_link_status")
self.gridLayout_3.addWidget(self.Lcc1_link_status, 0, 0, 1, 1)
self.Lcc1_com = QtWidgets.QComboBox(self.tab_2)
self.Lcc1_com.setObjectName("Lcc1_com")
self.Lcc1_com.addItem("")
self.gridLayout_3.addWidget(self.Lcc1_com, 1, 0, 1, 1)
self.Lcc1_baud = QtWidgets.QComboBox(self.tab_2)
self.Lcc1_baud.setObjectName("Lcc1_baud")
self.Lcc1_baud.addItem("")
self.Lcc1_baud.addItem("")
self.gridLayout_3.addWidget(self.Lcc1_baud, 2, 0, 1, 1)
self.Lcc1_data_len = QtWidgets.QComboBox(self.tab_2)
self.Lcc1_data_len.setObjectName("Lcc1_data_len")
self.Lcc1_data_len.addItem("")
self.Lcc1_data_len.addItem("")
self.gridLayout_3.addWidget(self.Lcc1_data_len, 3, 0, 1, 1)
self.Lcc1_stopbit = QtWidgets.QComboBox(self.tab_2)
self.Lcc1_stopbit.setObjectName("Lcc1_stopbit")
self.Lcc1_stopbit.addItem("")
self.Lcc1_stopbit.addItem("")
self.Lcc1_stopbit.addItem("")
self.gridLayout_3.addWidget(self.Lcc1_stopbit, 4, 0, 1, 1)
self.Lcc1_parity = QtWidgets.QComboBox(self.tab_2)
self.Lcc1_parity.setObjectName("Lcc1_parity")
self.Lcc1_parity.addItem("")
self.Lcc1_parity.addItem("")
self.Lcc1_parity.addItem("")
self.gridLayout_3.addWidget(self.Lcc1_parity, 5, 0, 1, 1)
self.Lcc1_btn_open = QtWidgets.QPushButton(self.tab_2)
self.Lcc1_btn_open.setObjectName("Lcc1_btn_open")
self.gridLayout_3.addWidget(self.Lcc1_btn_open, 6, 0, 1, 1)
self.Lcc1_btn_close = QtWidgets.QPushButton(self.tab_2)
self.Lcc1_btn_close.setObjectName("Lcc1_btn_close")
self.gridLayout_3.addWidget(self.Lcc1_btn_close, 7, 0, 1, 1)
self.gridLayout_4.addLayout(self.gridLayout_3, 0, 0, 1, 1)
self.tabWidget.addTab(self.tab_2, "")
self.layoutWidget = QtWidgets.QWidget(self.centralwidget)
self.layoutWidget.setGeometry(QtCore.QRect(0, 290, 321, 113))
self.layoutWidget.setObjectName("layoutWidget")
self.gridLayout_14 = QtWidgets.QGridLayout(self.layoutWidget)
self.gridLayout_14.setContentsMargins(0, 0, 0, 0)
self.gridLayout_14.setObjectName("gridLayout_14")
self.gridLayout_9 = QtWidgets.QGridLayout()
self.gridLayout_9.setObjectName("gridLayout_9")
self.Lab_voltstep = QtWidgets.QLabel(self.layoutWidget)
self.Lab_voltstep.setObjectName("Lab_voltstep")
self.gridLayout_9.addWidget(self.Lab_voltstep, 0, 0, 1, 1)
self.LE_VoltageStepLen = QtWidgets.QLineEdit(self.layoutWidget)
self.LE_VoltageStepLen.setAlignment(QtCore.Qt.AlignCenter)
self.LE_VoltageStepLen.setObjectName("LE_VoltageStepLen")
self.gridLayout_9.addWidget(self.LE_VoltageStepLen, 0, 1, 1, 1)
self.Lab_voltstep_mv = QtWidgets.QLabel(self.layoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_voltstep_mv.sizePolicy().hasHeightForWidth())
self.Lab_voltstep_mv.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_voltstep_mv.setFont(font)
self.Lab_voltstep_mv.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_voltstep_mv.setObjectName("Lab_voltstep_mv")
self.gridLayout_9.addWidget(self.Lab_voltstep_mv, 0, 2, 1, 1)
self.Lab_testtime = QtWidgets.QLabel(self.layoutWidget)
self.Lab_testtime.setObjectName("Lab_testtime")
self.gridLayout_9.addWidget(self.Lab_testtime, 1, 0, 1, 1)
self.LE_TestDuration = QtWidgets.QLineEdit(self.layoutWidget)
self.LE_TestDuration.setAlignment(QtCore.Qt.AlignCenter)
self.LE_TestDuration.setReadOnly(False)
self.LE_TestDuration.setObjectName("LE_TestDuration")
self.gridLayout_9.addWidget(self.LE_TestDuration, 1, 1, 1, 1)
self.Lab_testtime_ms = QtWidgets.QLabel(self.layoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_testtime_ms.sizePolicy().hasHeightForWidth())
self.Lab_testtime_ms.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_testtime_ms.setFont(font)
self.Lab_testtime_ms.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_testtime_ms.setObjectName("Lab_testtime_ms")
self.gridLayout_9.addWidget(self.Lab_testtime_ms, 1, 2, 1, 1)
self.gridLayout_14.addLayout(self.gridLayout_9, 0, 0, 1, 1)
self.gridLayout_13 = QtWidgets.QGridLayout()
self.gridLayout_13.setObjectName("gridLayout_13")
self.btn_autotest_start = QtWidgets.QPushButton(self.layoutWidget)
self.btn_autotest_start.setObjectName("btn_autotest_start")
self.gridLayout_13.addWidget(self.btn_autotest_start, 0, 0, 1, 1)
self.btn_autotest_stop = QtWidgets.QPushButton(self.layoutWidget)
self.btn_autotest_stop.setObjectName("btn_autotest_stop")
self.gridLayout_13.addWidget(self.btn_autotest_stop, 0, 1, 1, 1)
self.btn_autotest_export = QtWidgets.QPushButton(self.layoutWidget)
self.btn_autotest_export.setObjectName("btn_autotest_export")
self.gridLayout_13.addWidget(self.btn_autotest_export, 0, 2, 1, 1)
self.gridLayout_14.addLayout(self.gridLayout_13, 1, 0, 1, 1)
self.splitter = QtWidgets.QSplitter(self.centralwidget)
self.splitter.setGeometry(QtCore.QRect(1, 1, 179, 183))
self.splitter.setOrientation(QtCore.Qt.Horizontal)
self.splitter.setObjectName("splitter")
self.layoutWidget1 = QtWidgets.QWidget(self.splitter)
self.layoutWidget1.setObjectName("layoutWidget1")
self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget1)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.gridLayout_5 = QtWidgets.QGridLayout()
self.gridLayout_5.setObjectName("gridLayout_5")
self.Lab_A = QtWidgets.QLabel(self.layoutWidget1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_A.sizePolicy().hasHeightForWidth())
self.Lab_A.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_A.setFont(font)
self.Lab_A.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_A.setObjectName("Lab_A")
self.gridLayout_5.addWidget(self.Lab_A, 0, 0, 1, 1)
self.Lab_A_mv = QtWidgets.QLabel(self.layoutWidget1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_A_mv.sizePolicy().hasHeightForWidth())
self.Lab_A_mv.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_A_mv.setFont(font)
self.Lab_A_mv.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_A_mv.setObjectName("Lab_A_mv")
self.gridLayout_5.addWidget(self.Lab_A_mv, 0, 1, 1, 1)
self.le_dac_A_Input = QtWidgets.QLineEdit(self.layoutWidget1)
self.le_dac_A_Input.setAlignment(QtCore.Qt.AlignCenter)
self.le_dac_A_Input.setObjectName("le_dac_A_Input")
self.gridLayout_5.addWidget(self.le_dac_A_Input, 1, 0, 1, 2)
self.verticalLayout.addLayout(self.gridLayout_5)
self.btn_dac_inc = QtWidgets.QPushButton(self.layoutWidget1)
self.btn_dac_inc.setObjectName("btn_dac_inc")
self.verticalLayout.addWidget(self.btn_dac_inc)
self.btn_dac_dec = QtWidgets.QPushButton(self.layoutWidget1)
self.btn_dac_dec.setObjectName("btn_dac_dec")
self.verticalLayout.addWidget(self.btn_dac_dec)
self.btn_dac_output = QtWidgets.QPushButton(self.layoutWidget1)
self.btn_dac_output.setObjectName("btn_dac_output")
self.verticalLayout.addWidget(self.btn_dac_output)
self.layoutWidget2 = QtWidgets.QWidget(self.splitter)
self.layoutWidget2.setObjectName("layoutWidget2")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget2)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.gridLayout_6 = QtWidgets.QGridLayout()
self.gridLayout_6.setObjectName("gridLayout_6")
self.Lab_B_mv = QtWidgets.QLabel(self.layoutWidget2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_B_mv.sizePolicy().hasHeightForWidth())
self.Lab_B_mv.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_B_mv.setFont(font)
self.Lab_B_mv.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_B_mv.setObjectName("Lab_B_mv")
self.gridLayout_6.addWidget(self.Lab_B_mv, 0, 1, 1, 1)
self.Lab_B = QtWidgets.QLabel(self.layoutWidget2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_B.sizePolicy().hasHeightForWidth())
self.Lab_B.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_B.setFont(font)
self.Lab_B.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_B.setObjectName("Lab_B")
self.gridLayout_6.addWidget(self.Lab_B, 0, 0, 1, 1)
self.le_dac_B_Input = QtWidgets.QLineEdit(self.layoutWidget2)
self.le_dac_B_Input.setAlignment(QtCore.Qt.AlignCenter)
self.le_dac_B_Input.setObjectName("le_dac_B_Input")
self.gridLayout_6.addWidget(self.le_dac_B_Input, 1, 0, 1, 2)
self.verticalLayout_2.addLayout(self.gridLayout_6)
self.btn_dac_inc_2 = QtWidgets.QPushButton(self.layoutWidget2)
self.btn_dac_inc_2.setObjectName("btn_dac_inc_2")
self.verticalLayout_2.addWidget(self.btn_dac_inc_2)
self.btn_dac_dec_2 = QtWidgets.QPushButton(self.layoutWidget2)
self.btn_dac_dec_2.setObjectName("btn_dac_dec_2")
self.verticalLayout_2.addWidget(self.btn_dac_dec_2)
self.btn_dac_output_2 = QtWidgets.QPushButton(self.layoutWidget2)
self.btn_dac_output_2.setObjectName("btn_dac_output_2")
self.verticalLayout_2.addWidget(self.btn_dac_output_2)
self.Lab_meter_show_mv = QtWidgets.QLabel(self.centralwidget)
self.Lab_meter_show_mv.setGeometry(QtCore.QRect(370, 90, 28, 25))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_meter_show_mv.sizePolicy().hasHeightForWidth())
self.Lab_meter_show_mv.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_meter_show_mv.setFont(font)
self.Lab_meter_show_mv.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_meter_show_mv.setObjectName("Lab_meter_show_mv")
self.Lab_adc_show_mv = QtWidgets.QLabel(self.centralwidget)
self.Lab_adc_show_mv.setGeometry(QtCore.QRect(370, 0, 28, 25))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_adc_show_mv.sizePolicy().hasHeightForWidth())
self.Lab_adc_show_mv.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_adc_show_mv.setFont(font)
self.Lab_adc_show_mv.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_adc_show_mv.setObjectName("Lab_adc_show_mv")
self.adc_volt_show = QtWidgets.QLCDNumber(self.centralwidget)
self.adc_volt_show.setGeometry(QtCore.QRect(187, 33, 221, 51))
self.adc_volt_show.setAutoFillBackground(True)
self.adc_volt_show.setSmallDecimalPoint(True)
self.adc_volt_show.setDigitCount(3)
self.adc_volt_show.setObjectName("adc_volt_show")
self.Lab_meter_show = QtWidgets.QLabel(self.centralwidget)
self.Lab_meter_show.setGeometry(QtCore.QRect(190, 90, 57, 25))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_meter_show.sizePolicy().hasHeightForWidth())
self.Lab_meter_show.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_meter_show.setFont(font)
self.Lab_meter_show.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_meter_show.setObjectName("Lab_meter_show")
self.Lab_adc_show = QtWidgets.QLabel(self.centralwidget)
self.Lab_adc_show.setGeometry(QtCore.QRect(187, 2, 40, 25))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_adc_show.sizePolicy().hasHeightForWidth())
self.Lab_adc_show.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_adc_show.setFont(font)
self.Lab_adc_show.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_adc_show.setObjectName("Lab_adc_show")
self.meter_volt_show = QtWidgets.QLCDNumber(self.centralwidget)
self.meter_volt_show.setGeometry(QtCore.QRect(190, 120, 221, 51))
self.meter_volt_show.setAutoFillBackground(True)
self.meter_volt_show.setSmallDecimalPoint(True)
self.meter_volt_show.setDigitCount(3)
self.meter_volt_show.setObjectName("meter_volt_show")
self.cb_channel_A = QtWidgets.QCheckBox(self.centralwidget)
self.cb_channel_A.setGeometry(QtCore.QRect(420, 150, 31, 31))
self.cb_channel_A.setObjectName("cb_channel_A")
self.cb_channel_B = QtWidgets.QCheckBox(self.centralwidget)
self.cb_channel_B.setGeometry(QtCore.QRect(470, 150, 31, 31))
self.cb_channel_B.setObjectName("cb_channel_B")
self.cb_auto = QtWidgets.QCheckBox(self.centralwidget)
self.cb_auto.setGeometry(QtCore.QRect(420, 50, 61, 31))
self.cb_auto.setObjectName("cb_auto")
self.cb_manul = QtWidgets.QCheckBox(self.centralwidget)
self.cb_manul.setGeometry(QtCore.QRect(420, 20, 71, 31))
self.cb_manul.setObjectName("cb_manul")
self.splitter_3 = QtWidgets.QSplitter(self.centralwidget)
self.splitter_3.setGeometry(QtCore.QRect(0, 190, 501, 41))
self.splitter_3.setOrientation(QtCore.Qt.Horizontal)
self.splitter_3.setObjectName("splitter_3")
self.Lab_dac_display = QtWidgets.QLabel(self.splitter_3)
self.Lab_dac_display.setObjectName("Lab_dac_display")
self.dac_volt_display = QtWidgets.QLCDNumber(self.splitter_3)
self.dac_volt_display.setObjectName("dac_volt_display")
self.Lab_meter_display = QtWidgets.QLabel(self.splitter_3)
self.Lab_meter_display.setObjectName("Lab_meter_display")
self.meter_volt_display = QtWidgets.QLCDNumber(self.splitter_3)
self.meter_volt_display.setObjectName("meter_volt_display")
self.Lab_adc_display = QtWidgets.QLabel(self.splitter_3)
self.Lab_adc_display.setObjectName("Lab_adc_display")
self.adc_volt_display = QtWidgets.QLCDNumber(self.splitter_3)
self.adc_volt_display.setObjectName("adc_volt_display")
self.splitter_2 = QtWidgets.QSplitter(self.centralwidget)
self.splitter_2.setGeometry(QtCore.QRect(2, 250, 488, 31))
self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
self.splitter_2.setObjectName("splitter_2")
self.Lab_testrange = QtWidgets.QLabel(self.splitter_2)
self.Lab_testrange.setObjectName("Lab_testrange")
self.le_voltmin_input = QtWidgets.QLineEdit(self.splitter_2)
self.le_voltmin_input.setAlignment(QtCore.Qt.AlignCenter)
self.le_voltmin_input.setObjectName("le_voltmin_input")
self.le_voltmax_input = QtWidgets.QLineEdit(self.splitter_2)
self.le_voltmax_input.setAlignment(QtCore.Qt.AlignCenter)
self.le_voltmax_input.setObjectName("le_voltmax_input")
self.Lab_testrangemv = QtWidgets.QLabel(self.splitter_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Lab_testrangemv.sizePolicy().hasHeightForWidth())
self.Lab_testrangemv.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(14)
self.Lab_testrangemv.setFont(font)
self.Lab_testrangemv.setAlignment(QtCore.Qt.AlignCenter)
self.Lab_testrangemv.setObjectName("Lab_testrangemv")
self.cb_adc = QtWidgets.QCheckBox(self.centralwidget)
self.cb_adc.setGeometry(QtCore.QRect(420, 90, 71, 31))
self.cb_adc.setObjectName("cb_adc")
self.cb_meter = QtWidgets.QCheckBox(self.centralwidget)
self.cb_meter.setGeometry(QtCore.QRect(420, 120, 81, 31))
self.cb_meter.setObjectName("cb_meter")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 700, 23))
self.menuBar.setObjectName("menuBar")
self.menu_2 = QtWidgets.QMenu(self.menuBar)
self.menu_2.setObjectName("menu_2")
MainWindow.setMenuBar(self.menuBar)
self.actionpath = QtWidgets.QAction(MainWindow)
self.actionpath.setObjectName("actionpath")
self.actionV1_0 = QtWidgets.QAction(MainWindow)
self.actionV1_0.setObjectName("actionV1_0")
self.menu_2.addAction(self.actionV1_0)
self.menuBar.addAction(self.menu_2.menuAction())
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.fluke_link_status.setText(_translate("MainWindow", "未连接"))
self.fluke_com.setItemText(0, _translate("MainWindow", "COM1"))
self.fluke_baud.setItemText(0, _translate("MainWindow", "115200"))
self.fluke_baud.setItemText(1, _translate("MainWindow", "9600"))
self.fluke_data_len.setItemText(0, _translate("MainWindow", "8"))
self.fluke_data_len.setItemText(1, _translate("MainWindow", "9"))
self.fluke_stopbit.setItemText(0, _translate("MainWindow", "1"))
self.fluke_stopbit.setItemText(1, _translate("MainWindow", "1.5"))
self.fluke_stopbit.setItemText(2, _translate("MainWindow", "2"))
self.fluke_parity.setItemText(0, _translate("MainWindow", "None"))
self.fluke_parity.setItemText(1, _translate("MainWindow", "ODD"))
self.fluke_parity.setItemText(2, _translate("MainWindow", "EVEB"))
self.fluke_btn_open.setText(_translate("MainWindow", "打开"))
self.fluke_btn_close.setText(_translate("MainWindow", "关闭"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Tab 1"))
self.Lcc1_link_status.setText(_translate("MainWindow", "未连接"))
self.Lcc1_com.setItemText(0, _translate("MainWindow", "COM1"))
self.Lcc1_baud.setItemText(0, _translate("MainWindow", "115200"))
self.Lcc1_baud.setItemText(1, _translate("MainWindow", "9600"))
self.Lcc1_data_len.setItemText(0, _translate("MainWindow", "8"))
self.Lcc1_data_len.setItemText(1, _translate("MainWindow", "9"))
self.Lcc1_stopbit.setItemText(0, _translate("MainWindow", "1"))
self.Lcc1_stopbit.setItemText(1, _translate("MainWindow", "1.5"))
self.Lcc1_stopbit.setItemText(2, _translate("MainWindow", "2"))
self.Lcc1_parity.setItemText(0, _translate("MainWindow", "None"))
self.Lcc1_parity.setItemText(1, _translate("MainWindow", "ODD"))
self.Lcc1_parity.setItemText(2, _translate("MainWindow", "EVEB"))
self.Lcc1_btn_open.setText(_translate("MainWindow", "打开"))
self.Lcc1_btn_close.setText(_translate("MainWindow", "关闭"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))
self.Lab_voltstep.setText(_translate("MainWindow", "电压步长"))
self.Lab_voltstep_mv.setText(_translate("MainWindow", "mv"))
self.Lab_testtime.setText(_translate("MainWindow", "时间间隔"))
self.Lab_testtime_ms.setText(_translate("MainWindow", "ms"))
self.btn_autotest_start.setText(_translate("MainWindow", "开始"))
self.btn_autotest_stop.setText(_translate("MainWindow", "停止"))
self.btn_autotest_export.setText(_translate("MainWindow", "导出"))
self.Lab_A.setText(_translate("MainWindow", "A"))
self.Lab_A_mv.setText(_translate("MainWindow", "mv"))
self.btn_dac_inc.setText(_translate("MainWindow", "增加"))
self.btn_dac_dec.setText(_translate("MainWindow", "减小"))
self.btn_dac_output.setText(_translate("MainWindow", "输出"))
self.Lab_B_mv.setText(_translate("MainWindow", "mv"))
self.Lab_B.setText(_translate("MainWindow", "B"))
self.btn_dac_inc_2.setText(_translate("MainWindow", "增加"))
self.btn_dac_dec_2.setText(_translate("MainWindow", "减小"))
self.btn_dac_output_2.setText(_translate("MainWindow", "输出"))
self.Lab_meter_show_mv.setText(_translate("MainWindow", "mv"))
self.Lab_adc_show_mv.setText(_translate("MainWindow", "mv"))
self.Lab_meter_show.setText(_translate("MainWindow", "万用表"))
self.Lab_adc_show.setText(_translate("MainWindow", "ADC"))
self.cb_channel_A.setText(_translate("MainWindow", "A"))
self.cb_channel_B.setText(_translate("MainWindow", "B"))
self.cb_auto.setText(_translate("MainWindow", "自动"))
self.cb_manul.setText(_translate("MainWindow", "手动"))
self.Lab_dac_display.setText(_translate("MainWindow", "DAC"))
self.Lab_meter_display.setText(_translate("MainWindow", "万用表"))
self.Lab_adc_display.setText(_translate("MainWindow", "ADC"))
self.Lab_testrange.setText(_translate("MainWindow", "测试量程"))
self.Lab_testrangemv.setText(_translate("MainWindow", "v"))
self.cb_adc.setText(_translate("MainWindow", "ADC"))
self.cb_meter.setText(_translate("MainWindow", "Meter"))
self.menu_2.setTitle(_translate("MainWindow", "版本信息"))
self.actionpath.setText(_translate("MainWindow", "path"))
self.actionV1_0.setText(_translate("MainWindow", "V1.0"))