本来是在看高数公众号上的题目的,无意间看到了置顶的python公众号发布的说教人写抖音表白软件的消息,瞬间就想学一下了。
看完教程才知道,哇,这就是个不正经的软件的(一般称为流氓软件),就是不让你关闭窗口,非得回答可以才能关闭窗口,不然那个窗口就一直卡在那里,但是别人稍微懂一点电脑的就会用任务管理器关就没有什么办法了。
开发环境 : Win10 + sublime
这里用到的模块是tkinter,是python自带的,所以无需进行pip下载
# tkinter是python标准TK GUI工具包的接口
import tkinter as tk
# 这个是用来弹出提示框的
import tkinter.messagebox
然后创建一个窗口,并让窗口显示在屏幕上
# 创建窗口
window = tk.Tk()
# 设置窗口标题
window.title("my window")
# 设置窗口大小以及窗口出现的位置(函数中前两个参数表示窗口大小,后两个表示窗口出现的位置,第一个加号用来连接)
window.geometry("380x400+750+330")
# 避免窗口快速消失,使用循环显示窗口
window.mainloop()
接下来就是程序需要实现的功能 :
# 关闭窗口出发的事件
def closewindow():
tkinter.messagebox.showinfo("警告", "禁止关闭")
# 点击可以的时候弹出窗口的信息
def Yes():
yes = tk.Toplevel(window)
yes.geometry("280x100+800+450")
yes.title("YEAH")
label = tk.Label(yes, text="我也是这么想的", font=("楷体", 18)).pack()
btn = tk.Button(yes, text="确定", font=("楷体", 15),
width=3, height=1, command=close).pack()
yes.protocol("WM_DELETE_WINDOW", close_yes)
# 点击不可以弹出的窗口信息
def No():
no = tk.Toplevel(window)
no.geometry("280x100+800+450")
no.title("OH NO")
label = tk.Label(no, text="再考虑一下呗~", font=("楷体", 18)).pack()
btn = tk.Button(no, text="确定", font=("楷体", 15),
width=3, height=1, command=no.destroy).pack()
no.protocol("WM_DELETE_WINDOW", close_no)
# 循环调用,使关闭窗口无效
def close_no():
No()
# 禁止关闭窗口的函数
def close_yes():
return
# 回答 可以 + 确定 后,关闭窗口
def close():
window.destroy()
# 用户点击关闭触发的方法
window.protocol("WM_DELETE_WINDOW", closewindow)
# label1 = tk.Label(window, text="Hey , 二狗子",
# font=("微软雅黑", 15), fg="black").pack()
# 标签控件
label2 = tk.Label(window, text="Hello World", font=("楷体", 18), bg="red",
fg="black").pack()
# 找到图片位置
photo = tk.PhotoImage(file='cc.png')
# 将图片添加到窗口中,并居中
imageLabel = tk.Label(window, image=photo).pack()
# 添加按钮
btn1 = tk.Button(window, text="可以", font=(
"楷体", 18), activebackground="red", command=Yes).pack()
btn2 = tk.Button(window, text="不可以", font=("楷体", 10),
activebackground="green", command=No).pack()
以上就是这个表(liu)白(mang)软件的所有代码,有兴趣可以整合跑一下。
最后还有一个打包的过程,可以直接pip下载pyinstaller,用下面的命令进行打包,打包后的文件后缀为.exe
#xx是你python文件的名称
pyinstaller -F -w xx.py