使用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中requests使用代理proxies方法介绍
Oct 25 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
Python实现定时精度可调节的定时器
Apr 15 Python
详解Django之auth模块(用户认证)
Apr 17 Python
实时获取Python的print输出流方法
Jan 07 Python
Django异步任务之Celery的基本使用
Mar 23 Python
postman传递当前时间戳实例详解
Sep 14 Python
Python集合操作方法详解
Feb 09 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
Python list列表删除元素的4种方法
Nov 01 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学习笔记 数组遍历实现代码
2011/06/09 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
原生js调用json方法总结
2018/02/22 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
安装PyInstaller失败问题解决
2019/12/14 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
python温度转换华氏温度实现代码
2020/12/06 Python
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
给校长的建议书600字
2014/05/15 职场文书
节水口号标语
2014/06/19 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
2015年科协工作总结
2015/05/19 职场文书
老人与海读书笔记
2015/06/26 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL
delete in子查询不走索引问题分析
2022/07/07 MySQL