最近抖音上流行用程序去和喜欢的小姐姐表白,所以,我也用python做了一个这样的图形化界面的小程序。
Github:git@github.com:wangqujie/xjj.git
准备工作:
1、首先确定自己的电脑上安装了python3,如未安装,请自行安装。
https://www.python.org/downloads/
2、安装打包软件pyinstaller
pip install PyInstaller
首先了解一下tkinter:
菜鸟教程:http://www.runoob.com/python/python-gui-tkinter.html
1、导入需要用到的包
import tkinter as tk
import time
import tkinter.messagebox
2、创建主窗口
window = tk.Tk() # 设置主窗口大小 window.geometry('500x300') # 设置主窗口标题 window.title('你喜欢我吗?')
3、防止主窗口关闭
window.protocol('WM_DELETE_WINDOW', closeWindow) def closeWindow(): tkinter.messagebox.showerror(title="警告",message = "不许关闭,好好回答!") return
4、在主窗口创建文字及图片
# 设置文字 lable1 = tk.Label(window, text="hey,小姐姐", font=("Arial", 14)) lable2 = tk.Label(window, text="喜欢我吗?", font=("Arial", 34)) # 设置图片 photo = tk.PhotoImage(file='./1.gif') imgLabel = tk.Label(window, imag=photo) # 调用tkinter的布局管理模块 lable1.pack() lable2.pack() imgLabel.pack()
5、设置按钮点击需要的函数
# 点击喜欢的操作 def Love(): love = tk.Toplevel(window) love.geometry('300x200') love.title("好巧,我也是") lable = tk.Label(love,text="好巧,我也是", font=("Arial", 24)) btn = tk.Button(love, text="确定") btn.config(command=lambda :closelove(love)) lable.pack() love.protocol('WM_DELETE_WINDOW', closeall) btn.pack() # 点击不喜欢的操作 def NoLove(): no_love = tk.Toplevel(window) no_love.geometry('300x200') no_love.title("再考虑考虑呗") lable = tk.Label(no_love,text="再考虑考虑呗", font=("Arial", 24)) btn = tk.Button(no_love, text="确定") btn.config(command=lambda :closenolove(no_love)) lable.pack() btn.pack() # 子窗口关闭操作 def closeall(): window.destroy() def closelove(no_love): window.destroy() love.destroy() def closenolove(no_love): no_love.destroy()
6、在主窗口创建按钮
# 设置按钮 btn1 = tk.Button(window, text="喜欢") # 配置按钮 btn1.config(command=Love) btn2 = tk.Button(window, text="不喜欢") btn2.config(command=NoLove) # 调用tkinter的布局管理模块 btn1.pack() btn2.pack()
7、设置主事件循环
window.mainloop()
8、完成后将名为1.gif的图片和该文件存放在同一目录下。
可能遇到的问题:
.py文件在没有安装python3的系统上不能直接运行
需要安装python3
如果需要在windowns平台上运行,可以安装python3运行,也可以通过pyinstaller打包成exe文件运行
使用cmd命令进行打包操作:
pyinstaller -F 文件名.py
注意:打包完成需要将图片放在dist文件目录下,如果需要去除命令提示符,需要在打包时加入-w(只针对windows)