1. 程式人生 > 其它 >點不掉的彈窗,給女票的,可做表白

點不掉的彈窗,給女票的,可做表白

效果就是隻能點好的,不能點×,也不能點算了吧,點×點不掉這個彈窗,點算了吧,會一直在這個介面。

# Tkinter是Python的標準GUI(圖形使用者介面)庫 ,Python使用Tkinter可以快速的建立GUI應用程式
from tkinter import *
from tkinter import messagebox
from PIL import Image, ImageTk
a = 0
b = 0
def closeWindow():
    global b
    b += 1
    if b == 1:
        messagebox.showinfo(message="寶貝再考慮考慮唄")
    if b == 2:
        messagebox.showinfo(message="親愛的,點不掉哦")
    if b == 3:
        b = 0
        messagebox.showinfo(message="小可愛,點我沒用哦,要點‘好的’")

def closeLove():
    return 0

def closeAllWindow():
    window.destroy()     # destroy是登出

def closeNoLove():
    noLove()

def Love():                   # 點選喜歡觸發的方式
    # 頂級視窗
    love = Toplevel(window)
    love.geometry("300x100+520+260")
    love.title("")
    label = Label(love, text="我就知道你會同意的^-^", font=("微軟雅黑", 18))
    label.pack()
    btn = Button(love, text="確定", command=closeAllWindow, width=10, height=2)
    btn.pack()
    love.protocol('WM_DELETE_WINDOW', closeLove)

def noLove():
    global a
    a = a + 1
    no_love = Toplevel(window)
    no_love.geometry("300x100+520+260")
    no_love.title("")
    if a == 1:
        label = Label(no_love, text="我媽會游泳", font=("微軟雅黑", 15))
        label.pack()
        btn = Button(no_love, text="好的", width=10, height=2, command=no_love.destroy)
        btn.pack()
    if a == 2:
        label = Label(no_love, text="保大", font=("微軟雅黑", 15))
        label.pack()
        btn = Button(no_love, text="好的", width=10, height=2, command=no_love.destroy)
        btn.pack()
    if a == 3:
        label = Label(no_love, text="房產寫你名字", font=("微軟雅黑", 15))
        label.pack()
        btn = Button(no_love, text="好的", width=10, height=2, command=no_love.destroy)
        btn.pack()
    if a == 4:
        a = 1
        label = Label(no_love, text="我媽會游泳", font=("微軟雅黑", 15))
        label.pack()
        btn = Button(no_love, text="好的", width=10, height=2, command=no_love.destroy)
        btn.pack()

window = Tk()  # Tk是一個類
window.title("來自一位超級喜歡你的小哥哥")   # 視窗標題
window.geometry('380x270')    # 視窗大小
window.geometry('+500+240')   # 視窗位置

# 標籤控制
label = Label(window, text="xx小姐姐,\n我觀察你很久了\n做我女朋友好不好", font=("微軟雅黑", 15), justify=LEFT, padx=10)
label.grid(row=0, sticky=W, column=0)

# 按鈕控制,command作為點選觸發的事件
btn = Button(window, text="好的", width=15, height=2, command=Love)   #第一個按鈕
btn.grid(row=2, column=0, sticky=W, padx=30)
btn1 = Button(window, text="算了吧", width=15, height=2, command=noLove)  #第二個按鈕
btn1.grid(row=2, column=1, sticky=E, padx=5)

# 顯示圖片, 通過PIL開啟圖片,通過PIL來生成PhotoImage物件,即可正常載入
size = (200, 200)       # 期望影象顯示的大小
img = Image.open('love.png')    # 以一個PIL影象物件開啟
img_resized = img.resize(size, Image.ANTIALIAS)     # 縮放影象為size大小
photo = ImageTk.PhotoImage(img_resized)           # 把PIL影象物件轉變為Tkinter的PhotoImage物件
imageLabel = Label(window, image=photo, justify=RIGHT)

# columnspan:元件所跨的列數
imageLabel.grid(row=0, column=1, rowspan=2, columnspan=3, sticky=E, pady=5)

window.protocol("WM_DELETE_WINDOW", closeWindow)   # protocol()  使用者關閉視窗觸發的事件
window.mainloop()   # 顯示視窗,也叫訊息迴圈