1. 程式人生 > >python編寫的GUI表白小程式

python編寫的GUI表白小程式

# Tkinter是Python的標準GUI(圖形使用者介面)庫 ,Python使用Tkinter可以快速的建立GUI應用程式
from tkinter import *
from tkinter import messagebox

def closeWindow():
    messagebox.showinfo(title="警告",message="不許關閉,好好回答")
    # messagebox.showerror(title="警告",message="不許關閉,好好回答")
    return

# 點選喜歡觸發的方法
def Love():
    # 頂級視窗
    love = Toplevel(window)
    love.geometry("300x100+520+260")
    love.title("好巧,我也是")
    label = Label(love,text = "好巧,我也是",font = ("微軟雅黑",20))
    label.pack()
    btn = Button(love,text="確定",width=10,height=2,command=closeAllWindow)
    btn.pack()
    love.protocol("WM_DELETE_WINDOW",closeLove)

def closeLove():
    return

# 關閉所有的視窗
def closeAllWindow():
    # destroy  銷燬
    window.destroy()

def noLove():
    no_love = Toplevel(window)
    no_love.geometry("300x100+520+260")
    no_love.title("再考慮考慮")
    label = Label(no_love,text="再考慮考慮唄",font=("微軟雅黑",25))
    label.pack()
    btn = Button(no_love,text="好的",width=10,height=2,command=no_love.destroy)
    btn.pack()
    no_love.protocol("WM_DELETE_WINDOW",closeNoLove)

def closeNoLove():
    noLove()


# 建立父級視窗
window = Tk()  #Tk 是一個類
# 視窗標題
window.title("你喜歡我嗎?")
# 視窗大小
window.geometry('380x420')
# 視窗位置   geometry:幾何
window.geometry('+500+240')

# protocol()  使用者關閉視窗觸發的事件
window.protocol("WM_DELETE_WINDOW",closeWindow)

# 標籤控制元件
label = Label(window,text="hey,小姐姐",font=("微軟雅黑",15),fg='red')
# 定位   網格式佈局   pack也可以
label.grid(row = 0,column = 0,sticky = W)

label1 = Label(window,text="喜歡我嗎?",font=("微軟雅黑",30))
# sticky 對齊方式   E W S N 東西南北
label1.grid(row = 1,column = 1,sticky = E)

# 顯示圖片
photo = PhotoImage(file = "./cc.png")
imageLable = Label(window,image = photo)
# columnspan 元件所跨越的列數
imageLable.grid(row = 2, columnspan = 2)

# 按鈕控制元件
# command 按鈕點選觸發的事件
btn = Button(window,text="喜歡",width=15,height=2,command=Love)
btn.grid(row = 3,column = 0, sticky = W)

btn1 = Button(window,text="不喜歡",command=noLove)
btn1.grid(row = 3,column = 1, sticky = E)

# 顯示視窗,也叫訊息迴圈
window.mainloop()