测试工具研发_(3)测试框架驱动之事件绑定
程序员文章站
2022-07-12 18:58:44
...
1、主要涉及界面的事件绑定
# encoding: utf-8
"""
3、
(1)绑定事件的处理,另外根据输入的文件路径过长,将文本框拉长处理:调整比例且对box1做平铺
(2)事件处理中打开配置文件,并且对文件进行了读取
"""
import csv
import wx
# 测试框架界面类的实现
class UI_testframe:
# 初始化方法定义窗体、面板、控件
def __init__(self):
# 定义app对象
self.app = wx.App()
# 定义窗体
self.window = wx.Frame(None, title="测试框架v1.0", size=(400, 300))
# 定义panel面板
self.panel = wx.Panel(self.window)
# 定义面板上的控件
# 定义标签文字
self.lbl_file=wx.StaticText(self.panel, label="测试框架配置文件")
# 定义文件显示文本框
self.txt_file=wx.TextCtrl(self.panel)
# 定义打开按钮
self.but_open=wx.Button(self.panel, label="打开")
# 定义执行按钮
self.but_run = wx.Button(self.panel, label="执行")
# 定义成功之按钮
self.but_clear = wx.Button(self.panel, label="重置")
# 定义退出按钮
self.but_exit = wx.Button(self.panel, label="退出")
# 定义配置文件名称
self.configfile = ""
# 控件排版
def UI_layout(self):
# 定义一个水平box
box1 = wx.BoxSizer()
box1.Add(self.lbl_file, flag=wx.ALL, border=10),
box1.Add(self.txt_file, flag=wx.ALL, border=10, proportion=2),
# 定义一个水平box
box2 = wx.BoxSizer()
box2.Add(self.but_open, flag=wx.ALL, border=10),
box2.Add(self.but_run, flag=wx.ALL, border=10),
box2.Add(self.but_clear, flag=wx.ALL, border=10),
box2.Add(self.but_exit, flag=wx.ALL, border=10),
# 定义一个竖直box,进行排版,并生效
box3 = wx.BoxSizer(wx.VERTICAL)
box3.Add(box1, flag=wx.TOP | wx.EXPAND, border=40),
box3.Add(box2, flag=wx.TOP, border=40),
self.panel.SetSizer(box3)
# 按钮触发绑定事件
def UI_event(self):
self.but_open.Bind(wx.EVT_BUTTON, self.openfile)
# 事件1:打开配置文件
def openfile(self, event):
# 设置打开文件对话框
self.dlg_open = wx.FileDialog(self.panel, style=wx.FD_OPEN, message="打开文件", wildcard="*.csv")
# 点击控件的ok,
if self.dlg_open.ShowModal()==wx.ID_OK:
# 控件txt_file放入文件
self.txt_file.AppendText(self.dlg_open.GetPath())
# 在这里给属性configfile赋值,方便后面调用
self.configfile = self.dlg_open.GetPath()
# 读取csv配置文件
def readfile(self):
file = open(self.configfile, "r", encoding="utf-8") # !!!这里有个问题,读取文件必须以utf-8格式进行读取
table = csv.reader(file)
for content in table:
print(content)
# 显示窗体对象
def UI_show(self):
self.window.Show()
self.app.MainLoop()
if __name__ == '__main__':
a = UI_testframe()
a.UI_layout()
a.UI_event()
a.UI_show()
上一篇: Ubuntu上IPFS环境搭建
下一篇: 测试工具研发_GUI窗口(1)