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

 更新时间:2020年10月12日 10:42:30   作者:晚风拂面  
这篇文章主要介绍了使用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="执行人")
    # 设定使用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如何实现MySQL实例初始化详解

    Python如何实现MySQL实例初始化详解

    这篇文章主要给大家介绍了关于Python如何实现MySQL实例初始化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • pyqt5 comboBox获得下标、文本和事件选中函数的方法

    pyqt5 comboBox获得下标、文本和事件选中函数的方法

    今天小编就为大家分享一篇pyqt5 comboBox获得下标、文本和事件选中函数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python实现上传样本到virustotal并查询扫描信息的方法

    python实现上传样本到virustotal并查询扫描信息的方法

    这篇文章主要介绍了python实现上传样本到virustotal并查询扫描信息的方法,是比较实用的技巧,需要的朋友可以参考下
    2014-10-10
  • Python读取键盘输入的2种方法

    Python读取键盘输入的2种方法

    这篇文章主要介绍了Python读取键盘输入的2种方法,主要使用的就是raw_input函数和input函数,本文分别给出使用实例,需要的朋友可以参考下
    2015-06-06
  • Anaconda入门使用总结

    Anaconda入门使用总结

    个人尝试了很多类似的发行版,最终选择了Anaconda,因为其强大而方便的包管理与环境管理的功能。该文主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作
    2018-04-04
  • PyCharm导入numpy库的几种方式

    PyCharm导入numpy库的几种方式

    今天给大家带来的是关于Python的相关知识,文章围绕着PyCharm导入numpy库的几种方式展开,文中有非常详细的解释及代码示例,需要的朋友可以参考下
    2021-06-06
  • 启动targetcli时遇到错误解决办法

    启动targetcli时遇到错误解决办法

    这篇文章主要介绍了启动targetcli时遇到错误解决办法的相关资料,希望通过本文能帮助到大家,让大家遇到这样的错误解决,需要的朋友可以参考下
    2017-10-10
  • Python 私有属性与私有方法

    Python 私有属性与私有方法

    这篇文章主要介绍了Python 私有属性与私有方法,私有属性是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的内部被使用,但不想在外部被访问到这些属,下面我们就进入文章一起了解更多信息内容吧
    2022-03-03
  • Python正则表达式教程之一:基础篇

    Python正则表达式教程之一:基础篇

    正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。
    2017-03-03
  • 在python 中split()使用多符号分割的例子

    在python 中split()使用多符号分割的例子

    今天小编就为大家分享一篇在python 中split()使用多符号分割的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论