最近抖音上流行用程序去和喜歡的小姐姐表白,所以,我也用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)