使用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升级提示Tkinter模块找不到的解决方法
Aug 22 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
PyQt4实现下拉菜单可供选择并打印出来
Apr 20 Python
基于python指定包的安装路径方法
Oct 27 Python
Python进阶之@property动态属性的实现
Apr 01 Python
python opencv摄像头的简单应用
Jun 06 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
Python图片处理模块PIL操作方法(pillow)
Apr 07 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 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
smarty内置函数capture用法分析
2015/01/22 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
如何在JS文件中获取Vue组件
2020/09/16 Javascript
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
python实现查找所有程序的安装信息
2020/02/18 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
PyTorch安装与基本使用详解
2020/08/31 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
制药工程专业应届生求职信
2013/09/24 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
四议两公开实施方案
2014/03/28 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
团日活动总结书
2014/05/08 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
党员演讲稿
2014/09/04 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
Vue+Flask实现图片传输功能
2022/04/01 Vue.js