Exemplo n.º 1
0
    def fiberstatus_ui(self):
        self.value_fiberstatus_response.__init__()
        self.sub_fiberstatus = Dialog(self.top, 560, 180, title='光模块状态查询')

        parameter = tix.LabelEntry(self.sub_fiberstatus.canvas)
        parameter.grid(column=0, row=0, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = '光模块数'
        parameter.subwidget_list['entry']['textvariable'] = self.value_fiberstatus_channel[0]
        parameter.subwidget_list['entry']['justify'] = 'center'

        self.sub_fiberstatus.canvas.create_line(0, 25, 620, 25, fill='#C4C4C4', width=1)

        parameter = tix.LabelEntry(self.sub_fiberstatus.canvas)
        parameter.grid(column=0, row=1, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = '结果返回'
        parameter.subwidget_list['entry']['textvariable'] = self.value_fiberstatus_response
        parameter.subwidget_list['entry']['justify'] = 'center'

        column_name =['光口号', '接收功率', '发射功率', '在位信息', '厂商', '传输速率', '温度', '电压', '电流']
        self.sub_fiberstatus.table = ttk.Treeview(self.sub_fiberstatus.canvas, column=[1, 2, 3, 4, 5, 6, 7, 8, 9], height=2, show='headings')
        for i in range(9):
            self.sub_fiberstatus.table.column(column='#%d' % (i+1), width=60, minwidth=60, anchor='center')
            self.sub_fiberstatus.table.heading(column='#%d' % (i+1), text=column_name[i])
        self.sub_fiberstatus.table.grid(column=0, row=2, padx=5, pady=5)
        for i in range(2):
            self.sub_fiberstatus.table.insert('', 'end', value=(['%s' % (i+1), ] + ['-', ]*8), iid=i+1)
        self.sub_fiberstatus.button_test['command'] = \
            lambda: protocal.protocol_test(0xA007, value_list=self.value_fiberstatus_channel)
Exemplo n.º 2
0
    def mask_config_ui(self):
        self.value_mask_config_result.__init__()
        self.value_mask_config_response.__init__()

        self.sub_mask_config = Dialog(self.top, 220, 105, title='天线掩码配置')

        parameter1 = tix.LabelEntry(self.sub_mask_config.canvas)
        parameter1.grid(column=0, row=0, padx=5, pady=5, stick='w')
        parameter1.subwidget_list['label']['text'] = '下行掩码'
        parameter1.subwidget_list['entry']['textvariable'] = self.value_mask_config[0]

        parameter2 = tix.LabelEntry(self.sub_mask_config.canvas)
        parameter2.grid(column=1, row=0, padx=5, pady=5, stick='w')
        parameter2.subwidget_list['label']['text'] = '上行掩码'
        parameter2.subwidget_list['entry']['textvariable'] = self.value_mask_config[1]

        self.sub_mask_config.canvas.create_line(0, 26, 220, 26, fill='#C4C4C4', width=1)

        parameter3 = tix.LabelEntry(self.sub_mask_config.canvas)
        parameter3.grid(column=0, row=1, padx=5, pady=5, stick='e')
        parameter3.subwidget_list['label']['text'] = 'Result'
        parameter3.subwidget_list['entry']['textvariable'] = self.value_mask_config_result

        parameter4 = tix.LabelEntry(self.sub_mask_config.canvas)
        parameter4.grid(column=1, row=1, padx=5, pady=5, stick='w')
        parameter4.subwidget_list['label']['text'] = '结果返回'
        parameter4.subwidget_list['entry']['textvariable'] = self.value_mask_config_response

        self.sub_mask_config.button_test['command'] = \
            lambda: protocal.protocol_test(0xA004, value_list=self.value_mask_config)
Exemplo n.º 3
0
    def rrustatus_ui(self):
        self.value_rrustatus_response.__init__()
        self.sub_rrustatus = Dialog(self.top, 550, 160, title='RRU状态查询')

        for num in range(9):
            value = StringVar()
            self.value_rrustatus_para[num] = value

        parameter = tix.LabelEntry(self.sub_rrustatus.canvas)
        parameter.grid(column=0, row=0, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = '结果返回'
        parameter.subwidget_list['entry']['textvariable'] = self.value_rrustatus_response
        parameter.subwidget_list['entry']['justify'] = 'center'

        para = ['本振频率', '本振状态', '时钟状态', '  IR接口', '运行状态', '主板温度', '从板温度', '运行时间', '系统时间']
        setup_msg_count = self.testList(2, 4)
        for num in setup_msg_count:
            index = setup_msg_count.index(num)
            parameter = tix.LabelEntry(self.sub_rrustatus.canvas)
            parameter.grid(column=num[1], row=(num[0]+1), padx=5, pady=5)
            parameter.subwidget_list['label']['text'] = para[index]
            parameter.subwidget_list['entry']['textvariable'] = self.value_rrustatus_para[index]
            parameter.subwidget_list['entry']['width'] = 12
            parameter.subwidget_list['entry']['justify'] = 'center'

        parameter = tix.LabelEntry(self.sub_rrustatus.canvas)
        parameter.grid(columnspan=2, column=0, row=3, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = para[-1]
        parameter.subwidget_list['entry']['textvariable'] = self.value_rrustatus_para[-1]
        parameter.subwidget_list['entry']['width'] = 20
        parameter.subwidget_list['entry']['justify'] = 'center'

        self.sub_rrustatus.button_test['command'] = lambda: protocal.protocol_test(0xA006)
Exemplo n.º 4
0
    def rfstatus_ui(self):
        self.value_rfstatus_result.__init__()
        self.sub_rfstatus = Dialog(self.top, 620, 300, title='射频状态查询', daltx=5)

        parameter = tix.LabelEntry(self.sub_rfstatus.canvas)
        parameter.grid(column=0, row=0, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = '射频通道数'
        parameter.subwidget_list['entry']['textvariable'] = self.value_rfstatus_channel[0]
        parameter.subwidget_list['entry']['justify'] = 'center'

        self.sub_rfstatus.canvas.create_line(0, 25, 620, 25, fill='#C4C4C4', width=1)

        parameter = tix.LabelEntry(self.sub_rfstatus.canvas)
        parameter.grid(column=0, row=1, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = '  结果返回'
        parameter.subwidget_list['entry']['textvariable'] = self.value_rfstatus_result
        parameter.subwidget_list['entry']['justify'] = 'center'

        column_name =['通道号', '通道温度', '发射功率', '发射增益', '接收功率', '接收增益', '驻波比', '下行结果', '上行结果', '驻波结果']
        self.sub_rfstatus.table = ttk.Treeview(self.sub_rfstatus.canvas, column=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], height=8, show='headings')
        for i in range(10):
            if (i == 0) or (i == 6):
                self.sub_rfstatus.table.column(column='#%d' % (i+1), width=50, minwidth=50, anchor='center')
            elif (i == 2) or (i == 4):
                self.sub_rfstatus.table.column(column='#%d' % (i+1), width=70, minwidth=70, anchor='center')
            else:
                self.sub_rfstatus.table.column(column='#%d' % (i+1), width=60, minwidth=60, anchor='center')
            self.sub_rfstatus.table.heading(column='#%d' % (i+1), text=column_name[i])

        self.sub_rfstatus.table.grid(column=0, row=2, padx=5, pady=5)
        for i in range(8):
            self.sub_rfstatus.table.insert('', 'end', value=(['%s' % (i+1), ] + ['-', ]*9), iid=i+1)
        self.sub_rfstatus.button_test['command'] = \
            lambda: protocal.protocol_test(0xA005, value_list=self.value_rfstatus_channel)
Exemplo n.º 5
0
    def cell_generate(self):
        self.sub_cell = Dialog(self.top, 450, 180, title='小区配置')
        config_item = ('配置标识', '小区标识', '小区功率', '天线组号', '下行掩码', '上行掩码', '  频点数', '  载波号', '中心频点',
                       '频点主辅', '子帧配比', '生效子帧', '载波带宽', '特殊子帧', '循环前缀', 'SCG Mask')
        value_default = (0, 0, 100, 4, 0xf, 0xf, 1, 0, 415000, 0, 0, 0, 5, 7, 0, 0x1f)
        for num in range(16):
            value = IntVar(value=value_default[num])
            self.value_cell_para[num] = value
        for entry in self.value_cell_response:
            entry.__init__()
        setup_msg_count = self.testList(4, 4)
        for num in setup_msg_count:
            index = setup_msg_count.index(num)
            parameter = tix.LabelEntry(self.sub_cell.canvas)
            parameter.grid(column=num[1], row=num[0], padx=5, pady=5)
            parameter.subwidget_list['label']['text'] = config_item[index]
            parameter.subwidget_list['entry']['textvariable'] = self.value_cell_para[index]
        self.sub_cell.canvas.create_line(0, 103, 440, 103, fill='#C4C4C4', width=1)

        parameter = tix.LabelEntry(self.sub_cell.canvas)
        parameter.grid(column=2, row=4, padx=10, pady=5)
        parameter.subwidget_list['label']['text'] = '小区标识'
        parameter.subwidget_list['entry']['textvariable'] = self.value_cell_response[0]

        parameter = tix.LabelEntry(self.sub_cell.canvas)
        parameter.grid(column=3, row=4, padx=10, pady=5)
        parameter.subwidget_list['label']['text'] = '结果返回'
        parameter.subwidget_list['entry']['textvariable'] = self.value_cell_response[1]

        self.sub_cell.button_test['command'] = lambda: protocal.protocol_test(0xA00C, value_list=self.value_cell_para)
Exemplo n.º 6
0
    def version_ui(self):
        self.value_version_test.__init__()
        self.sub_version = Dialog(self.top, 300, 110, title='版本管理')
        button1 = Radiobutton(self.sub_version.canvas, text='版本查询', variable=self.value_version_select, value=1)
        button1.grid(column=0, row=0, padx=10, pady=5)

        button1 = Radiobutton(self.sub_version.canvas, text='版本下载', variable=self.value_version_select, value=2)
        button1.grid(column=1, row=0, padx=10, pady=5)

        button1 = Radiobutton(self.sub_version.canvas, text='版本激活', variable=self.value_version_select, value=3)
        button1.grid(column=2, row=0, padx=10, pady=5)

        self.sub_version.canvas.create_line(0, 30, 300, 30, fill='#C4C4C4', width=1)

        parameter = tix.LabelEntry(self.sub_version.canvas)
        parameter.grid(columnspan=2, column=1, row=1, padx=15, pady=5, stick='E')
        parameter.subwidget_list['label']['text'] = '结果返回'
        parameter.subwidget_list['entry']['textvariable'] = self.value_version_test

        def radiobutton_test():
            # print('radiobutton value is:', self.value_version_select.get())
            if self.value_version_select.get() == 1:
                protocal.protocol_test(0xA001)
            elif self.value_version_select.get() == 2:
                protocal.protocol_test(0xA002)
            elif self.value_version_select.get() == 3:
                protocal.protocol_test(0xA003)
            else:
                inert_message_queue.put('ALARM: version manage radiobutton variable is wrong!\n')

        self.sub_version.button_test['command'] = radiobutton_test
Exemplo n.º 7
0
    def time_config_ui(self):
        self.value_time_config_result.__init__()
        self.value_time_config_response.__init__()

        self.sub_time_config = Dialog(self.top, 220, 80, title='系统时间配置')

        parameter1 = tix.LabelEntry(self.sub_time_config.canvas)
        parameter1.grid(column=0, row=0, padx=5, pady=5, stick='w')
        parameter1.subwidget_list['label']['text'] = 'Result'
        parameter1.subwidget_list['entry']['textvariable'] = self.value_time_config_result

        parameter2 = tix.LabelEntry(self.sub_time_config.canvas)
        parameter2.grid(column=1, row=0, padx=5, pady=5, stick='w')
        parameter2.subwidget_list['label']['text'] = '结果返回'
        parameter2.subwidget_list['entry']['textvariable'] = self.value_time_config_response

        self.sub_time_config.button_test['command'] = lambda: protocal.protocol_test(0xA008)
Exemplo n.º 8
0
    def calibration_ui(self):
        self.sub_calibration = Dialog(self.top, 450, 295, title='校准')

        label = Label(self.sub_calibration.canvas, text='校准类型')
        label.grid(pady=5, column=0, row=0, stick='w')
        combobox = ttk.Combobox(self.sub_calibration.canvas, value=['上行', '下行', '上下行'], \
                                textvariable=self.value_calibration_para[0], width=9, justify='center')
        combobox.grid(column=1, row=0)

        center_freq = tix.LabelEntry(self.sub_calibration.canvas)
        center_freq.grid(column=2, row=0, padx=5, pady=5, stick='w')
        center_freq.subwidget_list['label']['text'] = '中心频点'
        center_freq.subwidget_list['entry']['textvariable'] = self.value_calibration_para[1]
        center_freq.subwidget_list['entry']['justify'] = 'center'

        self.sub_calibration.canvas.create_line(0, 25, 620, 25, fill='#C4C4C4', width=1)

        for num in range(4):
            value = StringVar()
            self.value_calibration_result[num] = value

        result = ['返回结果', '校准结果', 'RMS结果', 'DPD结果']
        setup_msg_count = self.testList(1, 4)
        for num in setup_msg_count:
            index = setup_msg_count.index(num)
            parameter = tix.LabelEntry(self.sub_calibration.canvas)
            if index == 0:
                parameter.grid(column=num[1], row=(num[0]+1), padx=5, pady=5, columnspan=2, stick='w')
                parameter.subwidget_list['entry']['width'] = 12
            else:
                parameter.grid(column=num[1]+1, row=(num[0]+1), padx=5, pady=5)
            parameter.subwidget_list['label']['text'] = result[index]
            parameter.subwidget_list['entry']['textvariable'] = self.value_calibration_result[index]
            parameter.subwidget_list['entry']['justify'] = 'center'

        column_name =['通道号', '发射功率', '校准偏差', '发射增益', '接收增益', '接收功率']
        self.sub_calibration.table = ttk.Treeview(self.sub_calibration.canvas, column=[1, 2, 3, 4, 5, 6], height=8, show='headings')
        for i in range(6):
            self.sub_calibration.table.column(column='#%d' % (i+1), width=72, minwidth=72, anchor='center')
            self.sub_calibration.table.heading(column='#%d' % (i+1), text=column_name[i])
        self.sub_calibration.table.grid(columnspan=5, column=0, row=2, padx=5, pady=5)
        for i in range(8):
            self.sub_calibration.table.insert('', 'end', value=(['%s' % (i+1), ] + ['-', ]*5), iid=i+1)
        self.sub_calibration.button_test['command'] = \
            lambda: protocal.protocol_test(0xA00B, value_list=self.value_calibration_para)
Exemplo n.º 9
0
    def delay_ui(self):
        self.value_delay_test.__init__()
        self.value_delay_response.__init__()

        self.sub_delay = Dialog(self.top, 240, 80, title='时延配置')

        parameter1 = tix.LabelEntry(self.sub_delay.canvas)
        parameter1.grid(column=0, row=0, padx=5, pady=5, stick='w')
        parameter1.subwidget_list['label']['text'] = '光纤时延'
        parameter1.subwidget_list['entry']['textvariable'] = self.value_delay_test
        parameter1.subwidget_list['entry']['width'] = 10

        parameter2 = tix.LabelEntry(self.sub_delay.canvas)
        parameter2.grid(column=1, row=0, padx=5, pady=5, stick='w')
        parameter2.subwidget_list['label']['text'] = '结果返回'
        parameter2.subwidget_list['entry']['textvariable'] = self.value_delay_response

        self.sub_delay.button_test['command'] = lambda: protocal.protocol_test(0xA00D)
Exemplo n.º 10
0
    def alarm_ui(self):
        self.value_alarm_response.__init__()
        self.sub_alarm = Dialog(self.top, 120, 80, title='告警查询')

        alarm_query = tix.LabelEntry(self.sub_alarm.canvas)
        alarm_query.grid(column=0, row=0, padx=5, pady=5, stick='w')
        alarm_query.subwidget_list['label']['text'] = '有无告警'
        alarm_query.subwidget_list['entry']['textvariable'] = self.value_alarm_response
        alarm_query.subwidget_list['entry']['justify'] = 'center'

        self.sub_alarm.button_test['command'] = lambda: protocal.protocol_test(0xA009)
Exemplo n.º 11
0
    def parameter_ui(self):
        self.value_parameter_response.__init__()
        self.sub_parameter = Dialog(self.top, 420, 130, title='参数查询')

        parameter2 = tix.LabelEntry(self.sub_parameter.canvas)
        parameter2.grid(column=0, row=0, padx=5, pady=5, stick='e')
        parameter2.subwidget_list['label']['text'] = '结果返回'
        parameter2.subwidget_list['entry']['textvariable'] = self.value_parameter_response

        for num in range(5):
            value = StringVar()
            self.value_parameter_result[num] = value

        result = ['驻波比门限', '板卡温度门限', '射频通道温度门限', '总时隙个数', '下行时隙比']
        setup_msg_count = self.testList(2, 3)
        for i in range(5):
            num = setup_msg_count[i]
            parameter = tix.LabelEntry(self.sub_parameter.canvas)
            parameter.grid(column=num[1], row=num[0]+1, padx=5, pady=5, stick='E')
            parameter.subwidget_list['label']['text'] = result[i]
            parameter.subwidget_list['entry']['textvariable'] = self.value_parameter_result[i]
        self.sub_parameter.button_test['command'] = lambda: protocal.protocol_test(0xA00A)
Exemplo n.º 12
0
    def hardwara_ui(self):
        self.sub_hardware = Dialog(self.top, 500, 130, title='硬件参数查询')

        for num in range(9):
            value = StringVar()
            self.value_hardware_result[num] = value

        result = ['本振类型', '带宽', '最小频点', '最大频点', '通道数', '配置字增益', '分频比系数', '产品型号', '产品类型']
        setup_msg_count = self.testList(3, 3)
        for num in setup_msg_count:
            index = setup_msg_count.index(num)
            parameter = tix.LabelEntry(self.sub_hardware.canvas)
            parameter.grid(column=num[1], row=num[0], padx=5, pady=5, stick='E')
            parameter.subwidget_list['label']['text'] = result[index]
            parameter.subwidget_list['entry']['textvariable'] = self.value_hardware_result[index]
            parameter.subwidget_list['entry']['width'] = 15

        self.sub_hardware.button_test['command'] = lambda: protocal.protocol_test(0xA010)
Exemplo n.º 13
0
    def reboot_ui(self):
        self.value_reboot_response.__init__()
        self.sub_reboot = Dialog(self.top, 150, 110, title='RRU复位')

        label = Label(self.sub_reboot.canvas, text='复位类型', anchor='w')
        label.grid(pady=5, column=0, row=0, stick='w')
        combobox = ttk.Combobox(self.sub_reboot.canvas, value=['软复位', '掉电复位'], textvariable=self.value_reboot_type[0], width=10)
        combobox.grid(column=1, row=0, stick='w')

        self.sub_reboot.canvas.create_line(0, 26, 160, 26, fill='#C4C4C4', width=1)

        parameter = tix.LabelEntry(self.sub_reboot.canvas)
        parameter.grid(columnspan=2, column=0, row=1, padx=5, pady=5, stick='w')
        parameter.subwidget_list['label']['text'] = '结果返回'
        parameter.subwidget_list['entry']['textvariable'] = self.value_reboot_response
        parameter.subwidget_list['entry']['width'] = 12

        self.sub_reboot.button_test['command'] = \
            lambda: protocal.protocol_test(0xA00E, value_list=self.value_reboot_type)
Exemplo n.º 14
0
    def add_labelentry(self, text, width=16, content=""):
        """Create a labelled entry, and return the entry.

           width is the number of characters to show.

           content is a string to show in the entry.

           Call entry.get() to get its current content.
        """

        entry = None

        if tix is not None:

            labelentry = tix.LabelEntry(master=self.frame,
                                        label=text,
                                        labelside="left")

            entry = labelentry.entry

            entry.insert(0, content)

            entry.config(width=width)

            labelentry.pack()

        else:
            labelentry = tkinter.Frame(master=self.frame)

            tkinter.Label(master=labelentry, text=text).pack(side=tkinter.LEFT)

            entry = tkinter.Entry(master=labelentry, width=width)

            entry.insert(0, content)

            entry.pack()

            labelentry.pack()

        return entry
Exemplo n.º 15
0
 def __init__(self, parent, prop, label):
     self.prop = prop
     ## Tix tix for python 3
     if (pythVers < 3):
         self.field = Tix.LabelEntry(parent,
                                     label=label,
                                     options='''
     label.width 12
     label.anchor e
     entry.width 12
     ''')
     else:
         self.field = tix.LabelEntry(parent,
                                     label=label,
                                     options='''
     label.width 12
     label.anchor e
     entry.width 12
     ''')
     ## Tix tix for python 3
     if (pythVers < 3):
         self.field.pack(side=Tix.TOP, padx=8, pady=2)
     else:
         self.field.pack(side=tix.TOP, padx=8, pady=2)
 Label(lbfr_tracer, text="Mod -->").place(x=10, y=53)
 normal_rbt_mod = Radiobutton(
     lbfr_tracer, text="Normal", value="normal", variable=mod)
 normal_rbt_mod.place(x=50, y=50)
 Radiobutton(lbfr_tracer, text="Point", value="point",
             variable=mod).place(x=115, y=50)
 Radiobutton(lbfr_tracer, text="Both", value="both",
             variable=mod).place(x=172, y=50)
 # LabelFrame_Repere_Option -> frame contenant les éléments pour configurer
 # le repère
 lbfr_rep = tix.LabelFrame(root, label="Configuration du repère")
 lbfr_rep.frame.configure(width=rep.width, height=100)
 lbfr_rep.grid(row=2, column=1, columnspan=2, sticky=NW)
 # Eléments de lbfr_rep :
 Label(lbfr_rep, text="Fenètrage :").place(x=10, y=20)
 lben_xmin = tix.LabelEntry(lbfr_rep, label="xmin ->  ")
 lben_xmin.entry.insert(0, "-10")
 lben_xmin.entry.configure(width=5, justify="right")
 lben_xmin.place(x=30, y=35)
 lben_xmax = tix.LabelEntry(lbfr_rep, label="xmax -> ")
 lben_xmax.entry.insert(0, "10")
 lben_xmax.entry.configure(width=5, justify="right")
 lben_xmax.place(x=30, y=55)
 lben_ymin = tix.LabelEntry(lbfr_rep, label="ymin ->  ")
 lben_ymin.entry.insert(0, "-10")
 lben_ymin.entry.configure(width=5, justify="right")
 lben_ymin.place(x=31, y=75)
 lben_ymax = tix.LabelEntry(lbfr_rep, label="ymax -> ")
 lben_ymax.entry.insert(0, "10")
 lben_ymax.entry.configure(width=5, justify="right")
 lben_ymax.place(x=31, y=95)
Exemplo n.º 17
0
    def __init__(self):
        """
        tkinter root basic option
        """

        self.top = tix.Tk(className='平台测试_CZZ')
        self.top.geometry('=930x550+300+100')
        self.top.maxsize(930, 570)
        self.top.iconbitmap(default='myicon.ico')
        self.notebook_map = notebook_map
        '''
        variables in self
        '''
        self.value_dstIP = StringVar()
        self.value_eth3 = StringVar()
        self.value_dstIP.set(MCT_IP)
        self.value_date = StringVar()
        self.value_heartBeat = StringVar()
        self.value_heartBeat.set('板卡未连接')

        self.value = []

        self.value_testResult = StringVar()
        self.value_testResult.set('正在测试..')

        self.value_AFC = StringVar()

        j = 0
        while j < 10:
            a = IntVar()
            self.value.append(a)
            j += 1

        self.value_select_IT = IntVar()

        self.value_testTime = IntVar()
        self.value_testTime.set(1)
        '''
          main UI
        '''
        self.frame_item = LabelFrame(self.top, relief=FLAT)
        self.frame_item.grid(column=0, row=0, sticky=N, pady=5)

        self.notebook = ttk.Notebook(self.frame_item, padding=10)
        self.notebook.grid()

        self.frame_IT = Frame(self.notebook, name='it')
        self.frame_MCT = Frame(self.notebook, name='mct')
        self.frame_BBP = Frame(self.notebook, name='bbp')
        self.frame_GES = Frame(self.notebook, name='ges')
        self.frame_FM = Frame(self.notebook, name='fm')

        self.notebook.add(self.frame_IT, text='集成')
        self.notebook.add(self.frame_MCT, text='主控板')
        self.notebook.add(self.frame_BBP, text='基带板')
        self.notebook.add(self.frame_GES, text='交换板')
        self.notebook.add(self.frame_FM, text='风扇板')

        self.frame_control = LabelFrame(self.frame_item,
                                        relief=GROOVE,
                                        borderwidth=2,
                                        text='实验控制',
                                        foreground='blue')
        self.frame_control.grid(sticky=W, padx=10)

        self.entry_control_1 = tix.LabelEntry(self.frame_control)
        self.entry_control_1.subwidget_list['label']['text'] = '试验次数:'
        self.entry_control_1.subwidget_list['entry'][
            'textvariable'] = self.value_testTime
        self.entry_control_1.grid(column=0, row=0, padx=10)

        self.button_control_1 = ttk.Button(self.frame_control,
                                           text='设定',
                                           width=5)
        self.button_control_1.grid(column=1, row=0, padx=8)

        self.null_control_1 = Label(self.frame_control)
        self.null_control_1.grid(column=2, row=0, padx=130)

        self.button_control_2 = Button(self.frame_control,
                                       text='结果显示',
                                       relief='groove')
        self.button_control_2.grid(column=3, row=0, padx=5)

        self.msg_control_1 = Message(self.frame_control,
                                     width=500,
                                     textvariable=self.value_testResult,
                                     justify='center',
                                     foreground='blue',
                                     font=('Arial', 9))
        self.msg_control_1.grid(row=1, pady=5, stick=W, column=0, columnspan=4)

        self.frame_default = Frame(self.frame_item, relief=FLAT)
        self.frame_default.grid(sticky=W)

        self.label_default_1 = myLabel(self.frame_default, text='  时间:')
        self.label_default_1.grid(column=0, row=0, sticky=W)
        self.label_default_3 = Label(self.frame_default,
                                     textvariable=self.value_date,
                                     justify='left')
        self.dataShow()
        self.label_default_3.grid(column=1, row=0, pady=5, sticky=W)

        self.null_default_1 = Label(self.frame_default)
        self.null_default_1.grid(column=2, row=0, padx=140, pady=10)

        self.label_default_2 = myLabel(self.frame_default,
                                       textvariable=self.value_heartBeat,
                                       foreground='blue')
        self.label_default_2.grid(column=3, row=0, columnspan=2)
        ##        self.heartbeat()

        self.frame_log = LabelFrame(self.top,
                                    height=50,
                                    relief=GROOVE,
                                    borderwidth=2,
                                    text='日志',
                                    foreground='blue')
        self.frame_log.grid(column=1, row=0, sticky=N, pady=15, ipady=5)

        self.msg = ScrolledText(self.frame_log,
                                width=47,
                                height=28,
                                font=('Arial', 10))
        self.msg.grid(padx=10, pady=5, sticky=W, column=0, columnspan=2)
        # self.insert_message()

        self.button_log_1 = ttk.Button(self.frame_log,
                                       text='保存',
                                       width=5,
                                       command=self.saveLog)
        self.button_log_1.grid(row=1, column=0, padx=10, sticky=W)

        self.button_log_2 = ttk.Button(self.frame_log,
                                       text='清除',
                                       width=5,
                                       command=self.clearLog)
        self.button_log_2.grid(row=1, column=1, padx=10, sticky=E)
        '''
          IT UI
         '''
        self.frame_IT_1 = LabelFrame(self.frame_IT,
                                     relief=GROOVE,
                                     borderwidth=2,
                                     text='系统信息',
                                     foreground='blue')
        self.frame_IT_1.grid(pady=10, padx=10, sticky=W)
        self.label_IT_1 = myLabel(self.frame_IT_1, text='目标IP:')
        self.label_IT_1.grid(column=0, row=0, sticky=W)

        self.null_IT_1 = Label(self.frame_IT_1)
        self.null_IT_1.grid(column=2, row=0, padx=100)

        self.button_IT_1 = ttk.Button(self.frame_IT_1, text='连接', width=5)
        self.button_IT_1.grid(column=3, row=0, padx=5)

        self.entry_IT_1 = Entry(self.frame_IT_1,
                                width=22,
                                textvariable=self.value_dstIP,
                                font=('Arial', 9))
        self.entry_IT_1.grid(column=1, row=0, pady=5)

        self.label_IT_2 = myLabel(self.frame_IT_1, text=' ETH_3:')
        self.label_IT_2.grid(column=0, row=1, sticky=W)

        self.button_IT_2 = ttk.Button(self.frame_IT_1, text='设置', width=5)
        self.button_IT_2.grid(column=3, row=1, padx=5)

        self.entry_IT_2 = Entry(self.frame_IT_1,
                                width=22,
                                textvariable=self.value_eth3,
                                font=('Arial', 9))
        self.entry_IT_2.grid(column=1, row=1, pady=5)

        self.label_IT_3 = myLabel(self.frame_IT_1, text='AFC状态:')
        self.label_IT_3.grid(column=0, row=2, sticky=W)
        self.entry_IT_3 = Entry(self.frame_IT_1,
                                width=22,
                                font=('Arial', 9),
                                state='readonly',
                                textvariable=self.value_AFC)
        self.entry_IT_3.grid(column=1, row=2, pady=5)

        self.frame_IT_2 = LabelFrame(self.frame_IT,
                                     relief=GROOVE,
                                     borderwidth=2,
                                     text='测试项',
                                     foreground='blue')
        self.frame_IT_2.grid(sticky=W, padx=10)

        self.testItem_IT = testItem_IT

        self.cbName_IT = ['IT_Cbutton%s' % (x) for x in range(10)]
        global i
        while i < 10:

            self.cbName_IT[i] = Checkbutton(self.frame_IT_2,
                                            text=self.testItem_IT[i],
                                            variable=self.value[i])
            self.cbName_IT[i].grid(column=testList(2, 5)[i][1],
                                   row=testList(2, 5)[i][0],
                                   sticky=W,
                                   padx=16,
                                   pady=5)
            i = i + 1

        self.frame_IT_3 = LabelFrame(self.frame_IT, relief=FLAT)
        self.frame_IT_3.grid(column=0, row=2, sticky=W, padx=10, pady=5)

        self.null_IT_2 = Label(self.frame_IT_3)
        self.null_IT_2.grid(column=0, row=0, padx=168)

        self.button_IT_3 = ttk.Button(self.frame_IT_3, text='开始', width=5)
        self.button_IT_3.grid(column=2, row=0, padx=10)

        self.cbutton_IT_1 = ttk.Checkbutton(self.frame_IT_3,
                                            text='全选',
                                            variable=self.value_select_IT,
                                            command=self.selectAll_IT)
        self.cbutton_IT_1.grid(column=1, row=0, padx=20)