工具5-统计xmind用例数的exe工具(三)

2022-12-28  本文已影响0人  软件开发技术修炼

一、前沿

本篇是制作exe工具,上传xmind文件后,可直接通过获取xmind用例数的函数,显示出xmind用例数结果。

代码已提供,需要的可自取~

二、讲解方案

1、定义exe窗口需要显示的值

# -*- coding: utf-8 -*-
'''
@Time    : 2022/11/30 11:56
@Author  : Celeste
@File    : exe_tool.py

'''

# 导入tkinter包,定义别名为tk
import os.path
import tkinter as tk
from tkinter.filedialog import askopenfilename
from tkinter.messagebox import showinfo
from count_xmind import func
from tkinter import messagebox


# 定义Application类表示应用/窗口,继承Frame类
class Application(tk.Frame):
   
    def __init__(self, master=None):

        tk.Frame.__init__(self, master)
        self.grid()
        self.path = tk.StringVar()            # 获取xmind文件路径
        self.count1 = tk.StringVar()        # 计算xmind文件的用例数
        # 创建控件,调用后面定义的createWidgets方法
        self.createWidgets()

2、从电脑中选择xmind文件,并进行判断格式是否是xmind

    def selectPath(self):

        # 从本地选择一个xmind文件,并返回文件的目录
        self.filename = tk.filedialog.askopenfilename()
        if self.filename.endswith('xmind'):
            self.path.set(self.filename)
        else:
            showinfo(title="提示", message="请选择正确的xmind文件")

3、定义窗口中的控件


    # 创建控件
    def createWidgets(self):
        """生成gui界面"""

        self.clickButton = tk.Button(self, text="请选择xmind文件路径:", width=18,height=1,bg='orange',fg='white',command=self.selectPath)
        # 设定使用grid布局
        self.clickButton.grid(row=1, column=3)
        # 创建一个输入框
        self.firstEntry = tk.Entry(self, textvariable=self.path)
        self.firstEntry.grid(row=1, column=4)
        # 创建提交按钮
        self.clickButton = tk.Button(self, text="点击获取总用例数:", width=18,height=1,bg='orange',fg='white',command=self.getvalue)
        # 设定使用grid布局
        self.clickButton.grid(row=5, column=3)
        # 创建一个输入框
        self.firstEntry = tk.Entry(self, textvariable=self.count1)
        self.firstEntry.grid(row=5, column=4)

4、与获取xmind用例数结合


    def getvalue(self):
        """执行转换excel函数"""

        xmindPath = self.path.get()
        # 获取文件名
        # xmindName = os.path.join(os.path.dirname(__file__),'xmind_excel.xmind')
        self.func = func(xmindPath)
        self.case_count = self.func.count_case(self.func.get_story())
        self.count1.set(self.case_count)

5、定义窗口的名称,关闭窗口逻辑

if __name__ == '__main__':

    # 创建一个Application对象app
    app = Application()
    # 设置窗口标题
    app.master.title('xmind用例统计')
    # 设置窗口大小
    app.master.geometry("500x400")

    def QueryWindow():
        # 显示一个警告信息,点击确认,销毁窗口
        if messagebox.showwarning("二次确认", "确认关闭吗?"):
            # 这里必须使用destory()关闭窗口
            # root_window.destory()
            app.master.quit()
            # 使用协议机制与窗口交互,并回调用户自定义的函数
    # 定义回调函数,当用户点击窗口×退出时,执行用户自定义的函数
    app.master.protocol('WM_DELETE_WINDOW', QueryWindow)

    # 主循环开始
    app.mainloop()

三、最终展现

桌面exe文件
上一篇下一篇

猜你喜欢

热点阅读