使用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爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
python去掉行尾的换行符方法
Jan 04 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
深入浅析python3中的unicode和bytes问题
Jul 03 Python
python实现处理mysql结果输出方式
Apr 09 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
python中setuptools的作用是什么
Jun 19 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
Python logging模块原理解析及应用
Aug 13 Python
python 浮点数四舍五入需要注意的地方
Aug 18 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
微信小程序解析富文本过程详解
2019/07/13 Javascript
Python中的迭代器漫谈
2015/02/03 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python socket处理client连接过程解析
2020/03/18 Python
运动会表扬稿大全
2014/01/16 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
《大海那边》教学反思
2014/04/09 职场文书
班级学习计划书
2014/04/27 职场文书
促销活动计划书
2014/05/02 职场文书
股东大会通知
2015/04/24 职场文书
小学中队委竞选稿
2015/11/20 职场文书
Python使用MapReduce进行简单的销售统计
2022/04/22 Python