武英斌-博客

Python GUI桌面程序+爬虫+编译exe

发布时间:5年前热度: 1239 ℃评论数:

1.python 做GUI有自己的库不用安装,下面一个案例是签名设计,用Python实现GUI + 爬虫 爬取设计网站的结果,并显示到GUI,再编译为exe

from tkinter import *
from tkinter import messagebox
import requests
import re

from PIL import Image,ImageTk
def sign():
    name = entry.get()
    #去空格
    name = name.strip()
    print(name)
    if name == '':
        messagebox.showinfo('提示',message='请输入姓名')
    else:
        #获取图片
        data = {
            'word':name,
            'sizes': '60',
            'fonts': '1.ttf',
            'fontcolor': '#000000'
        }
        url = 'http://www.uustv.com/'
        result = requests.post(url,data)
        #设置编码
        result.encoding = 'utf-8'
        html = result.text
        # print(html)
        #获取页面源代码

reg = r'<div class="tu"><img src="(.*?)"/></div>'

        res = re.findall(reg,html)

        imgpath  = url+res[0]

        img = requests.get(imgpath).content
        with open('{}.gif'.format(name),'wb') as f:
            f.write(img)
        print(imgpath)

        #显示图片
        bm = ImageTk.PhotoImage(file='{}.gif'.format(name))

        label2 = Label(root,image=bm)
        label2.bm = bm
        label2.grid(row=2,columnspan=2)

#创建窗口

root = Tk()

#窗口大小  宽x高 调整窗口位置+x+y
root.geometry('500x300+400+271')

#修改窗口标题
root.title('签名设计')

#标签控件
label = Label(root,text='签名',font=('华文行楷',20),fg='black')
#定位
label.grid(row=0,column=0)


#输入框
entry = Entry(root,font=('微软雅黑',20))
entry.grid(row = 0, column = 1)


#点击按钮

button = Button(root,text='设计签名',font=('微软雅黑',20),command=sign)
button.grid(row=1,column=1)

#显示窗口
root.mainloop()



#根据用户出入的文字
#爬取签名网站上的图片




2.上面的程序需要使用 PIL包的 ImageTk 模块所以需要安装下

3.接下来安装编译exe用的包

包用的是pyinstaller库,先pip安装一下,然后进入相应的Python文件所在的文件夹下,输入命令 pyinstaller -F xxx.py 就可以生成exe可执行文件了

实现效果

0f7f165a4cf3b19e3210a44404d751d.png


设置编译不带dos黑窗口的命令

设置带图标的命令

pyinstaller --onefile --icon=myicon.ico --clean py_gui.py  

python,桌面,程序,编译

手机扫码访问