Tk学习---写一个设计签名的程序

 利用tk创建一个可视化窗口:

from tkinter import *

# 创建窗口
root = Tk()

# 循环显示
root.mainloop()

mainloop为主循环,循环显示窗口;

之后的主程序代码都需要写在mainloop之前,

run ===>

调整窗口大小,添加标题和相应文字:

from tkinter import *

# 创建窗口
root = Tk()
# 标题
root.title('签名设计')
# 窗口大小
root.geometry('600x300+650+390')
# 标签1
label = Label(root, text='名字', font='华文行楷, 20', fg='blue')
# 标签位置
label.grid(row=0, column=0)
# 循环显示
root.mainloop()

窗口大小为600x300,中间为小写x,两组加号分别为窗口左上角的横纵坐标(打开窗口时窗口出现的位置),

可以获取屏幕分辨率按比例显示窗口位置:

wid = root.winfo_screenwidth()
hei = root.winfo_screenheight()
root.geometry('600x300+{}+{}'.format(wid//3, hei//3))

grid定位标签在窗口中的位置,row为第几行,column为第几列

run===>

添加输入窗口和按钮:

# 输入窗口
entry = Entry(root, font='华文行楷, 20')
# 窗口位置
entry.grid(row=0, column=1)
# 按钮
button = Button(root, text='设计签名', font='华文行楷, 20', fg='red')
# 按钮位置
button.grid(row=1, column=0)

Entry为输入窗口,其中font为输入字体和大小,

Button为按钮及文本属性

run ===> 

当我们点击按钮时,需要获取输入的名字在设计签名的网站上设计出的签名,并在窗口中显示出来,

--编写获取签名并上传的函数:

先添加点击按钮后的动作:

button = Button(root, text='设计签名', font='华文行楷, 20', fg='red', command=download)

设计函数download:

def download():
    # 获取输入名字
    name = entry.get()
    # 移除名字头尾的空格
    name = name.strip()
    # 如果名字为空格,则要求重新输入
    if name == '':
        messagebox.showinfo('请输入名字~')
    else:
        # 输入正确时:从网站获取签名
        data = {
            'word': name,
            'sizes': 60,
            'fonts': 'jfcs.ttf',
            'fontcolor': '#000000'
        }
        url = 'http://www.uustv.com/'
        # 获取html
        result = requests.post(url, data)
        result.encoding = 'utf8'
        html = result.text
        # 正则获取签名图片地址
        reg = '<div class="tu">.*?<img src="(.*?)"/></div>'
        img_path = re.findall(reg, html)
        imgurl = url + img_path[0]
        response = requests.get(imgurl).content
        # 下载图片
        with open('{}.gif'.format(name), 'wb') as f:
            f.write(response)
        # 显示图片
        bm = ImageTk.PhotoImage(file='{}.gif'.format(name))
        label2 = Label(root, image=bm)
        label2.bm = bm
        label2.grid(row=2, columnspan=2)

messagebox.showinfo()弹出提示框,

根据网页,提取签名图片,

使用pyinstaller打包成.exe文件

pyinstaller -F -w *.py

猜你喜欢

转载自blog.csdn.net/weixin_42016382/article/details/81491165