我是靠谱客的博主 诚心乐曲,最近开发中收集的这篇文章主要介绍[Python]利用tkinter制作一个Python的exe简单打包软件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

制作缘由

一方面,想写一个较简单、内含功能较多的tkinter窗口,以便将来给其他程序作模板用。另一方面,用命令行打包exe太麻烦了。

界面预览

若文件地址是手动输入,则点击‘确认’后点击‘打包’。
若文件地址是点击‘选择文件’选定的,则可以直接点击‘打包’。
在这里插入图片描述

代码演示

写完后只是粗略地测试了一下,可能会有一点bug。如果有bug及代码修改方式希望能告知一下,谢谢!!!!
另外,如果有人知道如何更快更好地进行控件排版的话,请再评论区告知,谢谢!!!!

from tkinter import Tk, Button, filedialog, Entry
import os


class Installer:
    def __init__(self):
        self.WIN = Tk()
        self.WIN.title('installer')  # 窗口名
        self.WIN.geometry('400x104+568+380')  # 我的电脑屏幕为1536*864
        self.py_path = ''  # Python文件地址
        self.ico_path = ''  # 图标文件地址

        # 创建控件
        self.py_btn = Button(self.WIN, text='选择py文件', width=10, command=self.event_py)
        self.ico_btn = Button(self.WIN, text='选择ico文件', width=10, command=self.event_ico)
        self.change_btn = Button(self.WIN, text='打包', width=15, command=self.event_change)
        self.qr_btn = Button(self.WIN, text='确认', width=15, command=self.event_qr)

        self.py_entry = Entry(self.WIN, show=None, width=40)
        self.ico_entry = Entry(self.WIN, show=None, width=40)

        # 部署控件
        self.py_btn.place(x=305, y=5)
        self.ico_btn.place(x=305, y=35)
        self.change_btn.place(x=235, y=70)
        self.qr_btn.place(x=40, y=70)
        self.py_entry.place(x=10, y=10)
        self.ico_entry.place(x=10, y=40)

        # 进入窗口循环
        self.WIN.mainloop()

    def event_py(self):  # 点击按钮‘选择py文件’事件
        self.py_path = filedialog.askopenfilename(filetypes=[('Python File', '*.py')])
        self.py_entry.select_clear()
        self.py_entry.insert(0, self.py_path)

    def event_ico(self):  # 点击按钮‘选择ico文件’事件
        self.ico_path = filedialog.askopenfilename(filetypes=[('Icon File', '*.ico')])
        self.ico_entry.select_clear()
        self.ico_entry.insert(0, self.ico_path)

    def event_change(self):  # 点击按钮‘打包’事件
        if self.ico_path == '':
            if not os.path.exists(self.py_path.rstrip('.py')):
                os.mkdir(self.py_path.rstrip('.py'))
            cmd1 = self.py_path[0] + ': & cd ' + self.py_path.rstrip('.py') + 
                   ' & pyinstaller -D -w ' + self.py_path
            os.system(cmd1)
        else:
            if not os.path.exists(self.py_path.rstrip('.py')):
                os.mkdir(self.py_path.rstrip('.py'))
            cmd1 = self.py_path[0] + ': & cd ' + self.py_path.rstrip('.py') + 
                   ' & pyinstaller -D -w -i ' + self.ico_path + ' ' + self.py_path
            os.system(cmd1)

    def event_qr(self):  # 点击按钮‘确认’事件
        self.py_path = str(self.py_entry.get())
        self.ico_path = str(self.ico_entry.get())


if __name__ == '__main__':
    Install = Installer()

最后

以上就是诚心乐曲为你收集整理的[Python]利用tkinter制作一个Python的exe简单打包软件的全部内容,希望文章能够帮你解决[Python]利用tkinter制作一个Python的exe简单打包软件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部