使用使用Python中中tkinter库简单库简单gui界面制作及打包成界面制作及打包成exe的操作的操作
方法(二)方法(二)
上一篇我们写了怎么将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="执行人")
评论0