def create_frm_right(self): ''' 上半部分右边窗口: 分为4个部分: 1、Label显示和重置按钮和发送按钮 2、Text显示(发送的数据) 3、Label显示和十进制选择显示和清除接收信息按钮 4、Text显示接收到的信息 ''' self.frm_right_reset = pytk.PyLabelFrame(self.frm_right) self.frm_right_send = pytk.PyText(self.frm_right, font=g_font, width=60, height=5) self.frm_right_clear = pytk.PyLabelFrame(self.frm_right) self.frm_right_receive = pytk.PyText(self.frm_right, font=g_font, width=60, height=8) self.frm_right_reset.pack(fill="both", expand=0, padx=1) self.frm_right_send.pack(fill="both", expand=1, padx=1) self.frm_right_clear.pack(fill="both", expand=0, padx=1) self.frm_right_receive.pack(fill="both", expand=1, padx=1) self.frm_right_receive.tag_config("green", foreground="#228B22") self.create_frm_right_reset() self.create_frm_right_clear()
def create_frm_right(self): ''' 上半部分右边窗口: 分为4个部分: 1、Label显示和重置按钮和发送按钮 2、Text显示(发送的数据) 3、Label显示和十六进制选择显示和清除接收信息按钮 4、Text显示接收到的信息 ''' self.frm_right_reset = pytk.PyLabelFrame(self.frm_right) self.frm_right_send = pytk.PyText(self.frm_right, width=50, height=size_dict["send_text_height"], font=("Monaco", 9)) self.frm_right_clear = pytk.PyLabelFrame(self.frm_right) self.frm_right_receive = pytk.PyText( self.frm_right, width=50, height=size_dict["receive_text_height"], font=("Monaco", 9)) self.frm_right_reset.grid(row=0, column=0, padx=1, sticky="wesn") self.frm_right_send.grid(row=1, column=0, padx=1, sticky="wesn") self.frm_right_clear.grid(row=2, column=0, padx=1, sticky="wesn") self.frm_right_receive.grid(row=3, column=0, padx=1, sticky="wesn") self.frm_right_receive.tag_config("green", foreground="#228B22") self.create_frm_right_reset() self.create_frm_right_clear()
def create_frame(self): ''' 新建窗口,分为上下2个部分,下半部分为状态栏 ''' self.frm = pytk.PyLabelFrame(self.root) self.frm_status = pytk.PyLabelFrame(self.root) self.frm.grid(row=0, column=0, sticky="wesn") self.frm_status.grid(row=1, column=0, sticky="wesn") self.create_frm() self.create_frm_status()
def create_frame(self): ''' 新建窗口,分为上下2个部分,下半部分为状态栏 ''' self.frm = pytk.PyLabelFrame(self.root) self.frm_status = pytk.PyLabelFrame(self.root) self.frm.pack(fill="both", expand=1) self.frm_status.pack(fill="both", expand=0) self.create_frm() self.create_frm_status()
def create_frm(self): ''' 上半部分窗口分为左右2个部分 ''' self.frm_left = pytk.PyLabelFrame(self.frm) self.frm_right = pytk.PyLabelFrame(self.frm) self.frm_left.grid(row=0, column=0, padx=5, pady=5, sticky="wesn") self.frm_right.grid(row=0, column=1, padx=5, pady=5, sticky="wesn") self.create_frm_left() self.create_frm_right()
def create_frame(self): ''' 创建窗体,分为上下2个部分,下半部分为状态栏 ''' self.frm = pytk.PyFrame(self.root) self.frm_top = pytk.PyLabelFrame(self.frm) self.frm_status = pytk.PyLabelFrame(self.frm) self.frm_top.pack(fill="both", expand=1) self.frm_status.pack(fill="both", expand=0) self.create_frm_top() self.create_frm_status()
def create_frm_left(self): ''' 上半部分左边窗口: Listbox显示可用的COM口 Button按钮点击连接设备 ''' self.frm_left_label = pytk.PyLabel(self.frm_left, text="Serial Ports", font=font) self.frm_left_listbox = pytk.PyListbox( self.frm_left, height=size_dict["list_box_height"], font=font) self.frm_left_serial_set = pytk.PyLabelFrame(self.frm_left) self.frm_left_btn = pytk.PyButton(self.frm_left, text="Open", font=font, command=self.Toggle) self.frm_left_label.grid(row=0, column=0, padx=5, pady=5, sticky="w") self.frm_left_listbox.grid(row=1, column=0, padx=5, pady=5, sticky="wesn") self.frm_left_serial_set.grid(row=2, column=0, padx=5, pady=5, sticky="wesn") self.frm_left_btn.grid(row=3, column=0, padx=5, pady=5, sticky="wesn") self.frm_left_listbox.bind("<Double-Button-1>", self.Open) self.create_frm_left_serial_set()
def create_frm(self): ''' 上半部分窗口分为左右2个部分 ''' self.frm_left = pytk.PyLabelFrame(self.frm) self.frm_right = pytk.PyLabelFrame(self.frm) self.frm_left.pack(fill="both", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_right.pack(fill="both", expand=1, padx=5, pady=5, side=tk.RIGHT) self.create_frm_left() self.create_frm_right()
def create_frame(self): self.frm_main = pytk.PyLabelFrame(self.root) self.frm_main.pack(fill="both", expand=1) self.create_frm_main() self.init_serial_frm()
def create_frm(self): ''' 上半部分窗口分为上下2个部分 ''' self.frm_up = pytk.PyLabelFrame(self.frm) self.frm_mid = pytk.PyLabelFrame(self.frm) self.frm_down = pytk.PyLabelFrame(self.frm) self.frm_up.pack(side="top", fill="both", padx=5, pady=5) self.frm_mid.pack(expand="yes", fill="both", padx=5, pady=5) self.frm_down.pack(expand="yes", fill="both", padx=5, pady=5) #self.frm_up.grid(row=0, column=0, padx=5, pady=5, sticky="wesn") #self.frm_down.grid(row=1, column=0, padx=5, pady=5, sticky="wesn") self.create_frm_up() self.create_frm_mid() self.create_frm_down()
def creat_eeg_frame(self): """脑电tab""" self.eeg_frame_left = pytk.PyLabelFrame(self.eeg_tab) #左部分 self.eeg_frame_right = pytk.PyLabelFrame(self.eeg_tab) #右部分 self.eeg_frame_left.pack(fill="both", expand=0, padx=2, pady=5, side=tk.LEFT) self.eeg_frame_right.pack(fill="both", expand=1, padx=2, pady=5, side=tk.RIGHT) #左部分分成上下两个部分 self.eeg_frame_left_top = pytk.PyLabelFrame(self.eeg_frame_left) self.eeg_frame_left_under = pytk.PyLabelFrame(self.eeg_frame_left) self.eeg_frame_left_top.pack(fill="both", expand=0) self.eeg_frame_left_under.pack(fill="both", expand=1) self.creat_eeg_frame_left_top() self.creat_eeg_frame_left_under() self.creat_eeg_frame_right() #创建脑波Tab右边
def creat_gsr_frame(self): """皮肤电tab""" self.gsr_frame_left = pytk.PyLabelFrame(self.gsr_tab) self.gsr_frame_right = pytk.PyLabelFrame(self.gsr_tab, text="GSR Singal", font=g_font) self.gsr_frame_left.pack(fill="both", expand=0, padx=2, pady=5, side=tk.LEFT) self.gsr_frame_right.pack(fill="both", expand=1, padx=2, pady=5, side=tk.RIGHT) #左部分分成上下两个部分 self.gsr_frame_left_top = pytk.PyLabelFrame(self.gsr_frame_left) self.gsr_frame_left_under = pytk.PyLabelFrame(self.gsr_frame_left) self.gsr_frame_left_top.pack(fill="both", expand=0) self.gsr_frame_left_under.pack(fill="both", expand=1) self.creat_gsr_frame_left_top() self.creat_gsr_frame_left_under() self.creat_gsr_frame_right()
def create_frm_up(self): self.frm_up_label = pytk.PyLabel(self.frm_up,\ text=" Serial Ports ",\ font=font) self.frm_up_label.grid(row=0, column=0, padx=5, pady=5, sticky="wesn") self.frm_up_setport = pytk.PyLabelFrame(self.frm_up) self.frm_up_setport.grid(row=1, column=0, padx=5, pady=5, sticky="wesn") self.frm_up_btn = pytk.PyButton(self.frm_up,text="Open",font=font,\ command=self.Open) self.frm_up_btn.grid(row=2, column=0, padx=5, pady=5, sticky="wesn") self.create_frm_up_setport()
def creat_eeg_frame_left_top(self): self.eeg_frm_l_label = pytk.PyLabel(self.eeg_frame_left_top, text="Serial Ports", font=g_font, anchor="w") self.eeg_frm_l_listbox = pytk.PyListbox(self.eeg_frame_left_top, font=g_font) self.eeg_left_serial_set = pytk.PyLabelFrame(self.eeg_frame_left_top) self.eeg_left_btn = pytk.PyButton(self.eeg_frame_left_top, text="Open", font=g_font, command=self.Toggle) self.eeg_frm_l_label.pack(fill="both", expand=0, padx=5, pady=5) self.eeg_frm_l_listbox.pack(fill="both", expand=1, padx=5, pady=5) self.eeg_left_serial_set.pack(fill="both", expand=0, padx=5, pady=5) self.eeg_left_btn.pack(fill="both", expand=0, padx=5, pady=10) self.eeg_frm_l_listbox.bind("<Double-Button-1>", self.open) eeg_baudrate_list = ["9600", "38400", "57600", "115200"] self.eeg_frm_left_left = pytk.PyFrame( self.eeg_left_serial_set) #左边区域显示标签 self.eeg_frm_left_right = pytk.PyFrame( self.eeg_left_serial_set) #右边区域显示波特率 self.eeg_frm_left_left.pack(fill="both", expand=1, side=tk.LEFT) self.eeg_frm_left_right.pack(fill="both", expand=1, side=tk.RIGHT) self.eeg_frm_left_label_temp = pytk.PyLabel(self.eeg_frm_left_left, text="Baudrate:", font=g_font) self.eeg_frm_left_label_temp.pack(fill="both", expand=1, padx=5, pady=5) self.eeg_frm_left_combobox_baudrate = ttk.Combobox( self.eeg_frm_left_right, width=10, font=g_font, values=eeg_baudrate_list) self.eeg_frm_left_combobox_baudrate.pack(fill="both", expand=1, padx=5, pady=5) self.eeg_frm_left_combobox_baudrate.current(2)
def create_frm_left(self): ''' 上半部分左边窗口: Listbox显示连接的USB设备 Button按钮点击连接设备 ''' self.frm_left_label = pytk.PyLabel(self.frm_left, text="Serial Ports", font=g_font, anchor="w") self.frm_left_listbox = pytk.PyListbox(self.frm_left, font=g_font) self.frm_left_serial_set = pytk.PyLabelFrame(self.frm_left) self.frm_left_btn = pytk.PyButton(self.frm_left, text="Open", font=g_font, command=self.Toggle) self.frm_left_label.pack(fill="both", expand=0, padx=5, pady=5) self.frm_left_listbox.pack(fill="both", expand=1, padx=5, pady=5) self.frm_left_serial_set.pack(fill="both", expand=0, padx=5, pady=5) self.frm_left_btn.pack(fill="both", expand=0, padx=5, pady=5) self.frm_left_listbox.bind("<Double-Button-1>", self.Open) self.create_frm_left_serial_set()
def create_frm_rr(self): ''' Listbox显示可选路线 Button分别为设定路线和启动 ''' self.frm_rr_road = pytk.PyLabelFrame(self.frm_rr) self.frm_rr_btn = pytk.PyLabelFrame(self.frm_rr) self.frm_rr_set = pytk.PyLabelFrame(self.frm_rr) self.frm_rr_road.pack(fill="both", expand=1, padx=2, pady=5, side=tk.TOP) self.frm_rr_btn.pack(fill="both", expand=0, padx=2, pady=5, side=tk.TOP) self.frm_rr_set.pack(fill="both", expand=0, padx=2, pady=5, side=tk.TOP) self.frm_rr_roadfile_list = pytk.PyListbox(self.frm_rr_road, font=g_font) self.frm_rr_road_addBtn = pytk.PyButton(self.frm_rr_road, text=">>", font=g_font, command=self.AddRoad) self.frm_rr_road_delBtn = pytk.PyButton(self.frm_rr_road, text="<<", font=g_font, command=self.DelRoad) self.frm_rr_road_list = pytk.PyListbox(self.frm_rr_road, font=g_font) self.frm_rr_roadfile_list.pack(fill="both", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_road_addBtn.pack(fill="none", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_road_delBtn.pack(fill="none", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_road_list.pack(fill="both", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_sendroad_btn = pytk.PyButton(self.frm_rr_btn, text="发送路线", font=g_font, command=self.SendRoadInfo) self.frm_rr_start_btn = pytk.PyButton(self.frm_rr_btn, text=" 启动 ", font=g_font, command=self.SendStart) self.frm_rr_sendroad_btn.pack(fill="both", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_start_btn.pack(fill="both", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_entry = pytk.PyEntry(self.frm_rr_set, font=g_font) self.frm_rr_entry.insert(0, '0') self.frm_rr_set_btn = pytk.PyButton(self.frm_rr_set, text="设定起始点", font=g_font, command=self.set_start_point) self.frm_rr_entry.pack(fill="both", expand=1, padx=5, pady=5, side=tk.LEFT) self.frm_rr_set_btn.pack(fill="both", expand=0, padx=5, pady=5, side=tk.LEFT)
def creat_eeg_frame_right(self): self.eeg_frame_right_top = pytk.PyLabelFrame(self.eeg_frame_right, text="EEG Singal", font=g_font) self.eeg_frame_right_under = pytk.PyLabelFrame( self.eeg_frame_right, text="RawEEGWave Singal", font=g_font) self.eeg_frame_right_top.pack(fill="both", expand=1) self.eeg_frame_right_under.pack(fill="both", expand=0) self.figure_raw_eeg = Figure(figsize=(6, 2), dpi=80) self.raw_eeg_figure = self.figure_raw_eeg.add_subplot(111) self.raw_eeg_figure.grid() #此部分开始放画图程序 self.wave_raw_eeg = WaveformDisplay.WaveformDisplay( self.eeg_frame_right_under) self.wave_raw_eeg.creat_waveform_attention_meditation( self.figure_raw_eeg) self.raw_eeg_figure.set_xlim(0, 1000) #设置x轴范围 self.raw_eeg_figure.set_ylim(-100, 100) #设置y轴范围 self.raw_eeg_figure.plot((0, 1000), (0, 0), color='gray', linewidth=2) for i in range(0, 1001, 100): self.raw_eeg_figure.plot((i, i), (-100, 100), color='black', linewidth=1, linestyle=':') self.raw_eeg_figure.axes.get_xaxis().set_visible(False) self.figure_raw_eeg.subplots_adjust(left=0.05, right=0.99, top=0.96, bottom=0.04) self.figure_eeg = Figure(figsize=(3, 1.5), dpi=80) self.LowAlpha_figure = self.figure_eeg.add_subplot(421) self.LowAlpha_figure.grid() self.LowAlpha_figure.set_title("LowAlpha", fontsize=11) self.LowAlpha_figure.set_xlim(0, 500) #设置x轴范围 self.LowAlpha_figure.set_ylim(0, 100) #设置y轴范围 self.HighAlpha_figure = self.figure_eeg.add_subplot(422) self.HighAlpha_figure.grid() self.HighAlpha_figure.set_title("HighAlpha", fontsize=11) self.HighAlpha_figure.set_xlim(0, 500) #设置x轴范围 self.HighAlpha_figure.set_ylim(0, 100) #设置y轴范围 self.LowBeta_figure = self.figure_eeg.add_subplot(423) self.LowBeta_figure.grid() self.LowBeta_figure.set_title("LowBeta", fontsize=11) self.LowBeta_figure.set_xlim(0, 500) #设置x轴范围 self.LowBeta_figure.set_ylim(0, 100) #设置y轴范围 self.HighBeta_figure = self.figure_eeg.add_subplot(424) self.HighBeta_figure.grid() self.HighBeta_figure.set_title("HighBeta", fontsize=11) self.HighBeta_figure.set_xlim(0, 500) #设置x轴范围 self.HighBeta_figure.set_ylim(0, 100) #设置y轴范围 self.LowGamma_figure = self.figure_eeg.add_subplot(425) self.LowGamma_figure.grid() self.LowGamma_figure.set_title("LowGamma", fontsize=11) self.LowGamma_figure.set_xlim(0, 500) #设置x轴范围 self.LowGamma_figure.set_ylim(0, 100) #设置y轴范围 self.MiddleGamma_figure = self.figure_eeg.add_subplot(426) self.MiddleGamma_figure.grid() self.MiddleGamma_figure.set_title("MiddleGamma", fontsize=11) self.MiddleGamma_figure.set_xlim(0, 500) #设置x轴范围 self.MiddleGamma_figure.set_ylim(0, 100) #设置y轴范围 self.Delta_figure = self.figure_eeg.add_subplot(427) self.Delta_figure.grid() self.Delta_figure.set_title("Delta", fontsize=11) self.Delta_figure.set_xlim(0, 500) #设置x轴范围 self.Delta_figure.set_ylim(0, 100) #设置y轴范围 self.Theta_figure = self.figure_eeg.add_subplot(428) self.Theta_figure.grid() self.Theta_figure.set_title("Theta", fontsize=11) self.Theta_figure.set_xlim(0, 500) #设置x轴范围 self.Theta_figure.set_ylim(0, 100) #设置y轴范围 #此部分开始放画图程序 self.wave_eeg = WaveformDisplay.WaveformDisplay( self.eeg_frame_right_top) self.wave_eeg.creat_waveform_eeg(self.figure_eeg) self.LowAlpha_figure.axes.get_xaxis().set_visible(False) self.HighAlpha_figure.axes.get_xaxis().set_visible(False) self.LowBeta_figure.axes.get_xaxis().set_visible(False) self.HighBeta_figure.axes.get_xaxis().set_visible(False) self.LowGamma_figure.axes.get_xaxis().set_visible(False) self.MiddleGamma_figure.axes.get_xaxis().set_visible(False) self.Delta_figure.axes.get_xaxis().set_visible(False) self.Theta_figure.axes.get_xaxis().set_visible(False) self.figure_eeg.subplots_adjust(left=0.05, right=0.99, top=0.95, bottom=0.05)
def create_frame(self): ''' 创建窗体 ''' self.frm = pytk.PyFrame(self.root) self.frm.pack(fill="both", expand=1) self.import_listbox = pytk.PyListbox(self.frm, font=g_font, selectmode='extended', width=30) self.import_listbox.grid(column=0, row=0, rowspan=2, sticky=tk.N + tk.S, padx=5, pady=5) #self.import_listbox.insert(0,'text') self.add_btn = pytk.PyButton(self.frm, font=g_font, text='>>', command=self.add_codes) self.add_btn.grid(column=1, row=0, sticky=tk.S, padx=5, pady=5) self.del_btn = pytk.PyButton(self.frm, font=g_font, text='<<', command=self.del_codes) self.del_btn.grid(column=1, row=1, sticky=tk.N, padx=5, pady=5) self.code_listbox = pytk.PyListbox(self.frm, font=g_font, selectmode='extended', width=30, fg="red") self.code_listbox.grid(column=2, row=0, rowspan=2, sticky=tk.N + tk.S, padx=5, pady=5) self.preview_canvas = pytk.PyCanvas(self.frm, width=200, height=200) self.preview_canvas.grid(column=3, row=0, rowspan=2, padx=5, pady=5) self.gen_codes_btn = pytk.PyButton(self.frm, text='生成CODE128', command=self.gen_codes) self.gen_codes_btn.grid(column=2, row=2, padx=5, pady=5, sticky=tk.N + tk.S + tk.E + tk.W) self.frm_file = pytk.PyLabelFrame(self.frm) self.frm_file.grid(column=0, row=2, columnspan=2, padx=5, pady=5, sticky=tk.N + tk.S + tk.E + tk.W) self.create_frm_file() self.frm_setting = pytk.PyLabelFrame(self.frm) self.frm_setting.grid(column=3, row=2, padx=5, pady=5, sticky=tk.N + tk.S + tk.E + tk.W) self.create_frm_setting() self.progressbar = ttk.Progressbar(self.frm, value=0) self.progressbar.grid(column=0, row=3, columnspan=4, padx=5, pady=5, sticky=tk.N + tk.S + tk.E + tk.W)