使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)


Posted in Python onOctober 12, 2020

上一篇我们写了怎么将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文件删除掉,设置为安全就可以了。

到此这篇关于使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)的文章就介绍到这了,更多相关Python gui界面制作及打包成exe内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现合并字典的方法
Jul 07 Python
Python中常用操作字符串的函数与方法总结
Feb 04 Python
Python在线运行代码助手
Jul 15 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
python画一个玫瑰和一个爱心
Aug 18 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
python脚本之一键移动自定格式文件方法实例
Sep 02 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
Oct 12 #Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 #Python
Python Sqlalchemy如何实现select for update
Oct 12 #Python
浅析PyCharm 的初始设置(知道)
Oct 12 #Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 #Python
Django windows使用Apache实现部署流程解析
Oct 12 #Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 #Python
You might like
PHP 文件缓存的性能测试
2010/04/25 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
分享PHP守护进程类
2015/12/30 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python第三方库的安装方法总结
2016/06/06 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
python中sys.argv函数精简概括
2018/07/08 Python
python的移位操作实现详解
2019/08/21 Python
用Python制作音乐海报
2021/01/26 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
主管会计岗位职责
2014/03/13 职场文书
主办会计岗位职责
2014/03/13 职场文书
农民工讨薪标语
2014/06/26 职场文书
员工安全责任书范本
2014/07/24 职场文书
技术经济专业求职信
2014/09/03 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB