上一篇我们写了怎么将xmind转换成想要的excel格式,这篇再讲一下用Python自带的tkinter库设计一个简单的gui界面,让我们的xmind路径,用例版本执行等都通过这个gui界面来输入,生成我们需要的excel文件。
Python要生成gui,库还是比较多的比如wxpython,这个我看了下,感觉比较难懂,毕竟只是设计一个比较简单的gui界面,所以就使用了tkinter库,感觉这个还是比较方便易懂的,大家可以在这里学习tkinter库http://c.biancheng.net/python/tkinter/
如果只是想做个简单的gui界面,直接想用什么就找什么就行了 ,我这个界面只用到了askopenfilename 和showinfo这两个功能,askopenfilename 是用来选择获取Windows文件路径的,showinfo是用来弹出提示框的,另外一个注意点就是 “self.module = tk.StringVar() self.secEntry = tk.Entry(self,textvariable = self.module)”,必须要这样写才能获取到输入框的值,刚开始我不知道这样获取,也是找了半天才找到,from xmindtoxls import xmind_to_xls是上一篇写的生成excel的文件,可以把两个文件放到一个文件夹下
import tkinter as tk from tkinter.filedialog import askopenfilename from xmindtoxls import xmind_to_xls from tkinter.messagebox import showinfo import re # 定义MainUI类表示应用/窗口,继承Frame类 class MainUI(tk.Frame): # Application构造函数,master为窗口的父控件 def __init__(self, master=None): # 初始化Application的Frame部分 tk.Frame.__init__(self, master) # 显示窗口,并使用grid布局 self.grid() self.path = tk.StringVar() # 创建控件 self.createWidgets() def selectPath(self): '''选择要转换成excel的xmind地址''' self.path_ = askopenfilename() self.path.set(self.path_) # 创建控件 def createWidgets(self): '''生成gui界面''' # 创建一个标签,输出要显示的内容 self.firstLabel = tk.Label(self, text="目标路径") # 设定使用grid布局 self.firstLabel.grid(row = 0, column = 0) self.firstEntry = tk.Entry(self,textvariable = self.path) self.firstEntry.grid(row=0, column=1) # 创建一个按钮,用来触发answer方法 self.clickButton = tk.Button(self, text="路径选择", command=self.selectPath) # 设定使用grid布局 self.clickButton.grid(row = 0, column = 2) # 创建一个标签,输入模块 self.secLabel = tk.Label(self, text="模块") # 设定使用grid布局 self.secLabel.grid(row=1, column=0) self.module = tk.StringVar() self.secEntry = tk.Entry(self,textvariable = self.module) self.secEntry.grid(row=1, column=1) # 创建一个标签,输入版本号 self.trLabel = tk.Label(self, text="版本号") # 设定使用grid布局 self.trLabel.grid(row=2, column=0) self.buildnum = tk.StringVar() self.trEntry = tk.Entry(self,textvariable = self.buildnum) self.trEntry.grid(row=2, column=1) # 创建一个标签,输入执行人 self.fourLabel = tk.Label(self, text="执行人") # 设定使用grid布局 self.fourLabel.grid(row=3, column=0) self.owner = tk.StringVar() self.fourEntry = tk.Entry(self,textvariable = self.owner) self.fourEntry.grid(row=3, column=1) # 创建一个提交按钮,用来触发提交方法,获取值 self.clickButton = tk.Button(self, text="提交",command=self.getvalue) # 设定使用grid布局 self.clickButton.grid(row=4, column=1) def getvalue(self): '''获取输入的值,并执行转换excel函数''' global way,module,buildnum,owner way = self.path.get() module = self.module.get() buildnum = self.buildnum.get() owner = self.owner.get() print(way,module,buildnum,owner) self.regvalue = '.*\.xmind$' self.xmind_reg = re.match(self.regvalue,way ) if self.xmind_reg: # xmind转换成xls self.xmind_to_xls = xmind_to_xls() self.xmind_to_xls.write_excel(way,module,buildnum,owner) else: showinfo(title='提示',message='请选择正确的xmind文件,谢谢!') # 创建一个MainUI对象 app = MainUI() # 设置窗口标题 app.master.title('「xmind转xls」') # 设置窗体大小 app.master.geometry('400x200') # 主循环开始 app.mainloop()
打包用的是pyinstaller库,先pip安装一下,然后进入相应的Python文件所在的文件夹下,输入命令pyinstaller -Ftkintertoxls.py -pxmindtoxls.py 就可以生成exe可执行文件了,这样这个xmind转xls的打包工具就完成了。注意电脑管家可能会把exe文件删除掉,设置为安全就可以了。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章