1. 程式人生 > >Python開發-表白神器

Python開發-表白神器

效果圖:

原始碼:
 

from tkinter import *   #_all_ = [a,b]
from tkinter import  messagebox

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

#點選喜歡觸發的方法
def Love():
    #Toplevel獨立的頂級視窗,和父級標題一樣
    love = Toplevel(window)
    love.geometry("300x90+540+360")
    love.title("好巧,我也是")
    label = Label(love,text="好巧,我也是",font =("微軟雅黑",20))
    label.pack()
    # label1 = Label(love,text="加個微信唄",font =("微軟雅黑",20))
    # label1.pack()
    # entry = Entry(love,font = ("微軟雅黑",15))
    # entry.pack()
    btn = Button(love,text = "確定",width = 10 , height = 1,command = close_all)
    btn.pack()
    love.protocol("WM_DELETE_WINDOW",closelove)

def closelove():
    return

#關閉所有的視窗   注意,如果父級視窗關了,下面的所有視窗均會關閉
def close_all():
    #destory 銷燬
    window.destroy()
#關閉不喜歡框的X時
def closenolove():
    #messagebox.showinfo("再考慮一下","再考慮一下唄")
    #return
    disLove()

#點選不喜歡觸發的事件
def disLove():
    no_love = Toplevel(window)
    no_love.geometry("300x90+540+360")
    no_love.title("再考慮考慮")
    label =  Label(no_love,text = "再考慮考慮唄!",font = ("微軟雅黑",25))
    label.pack()
    btn = Button(no_love,text = "好的",width = 10 , height = 1,command = no_love.destroy)
    btn.pack()
    no_love.protocol("WM_DELETE_WINDOW",closenolove)



# 建立視窗
window =Tk() #類的例項化,建立視窗,window僅僅是個變數

# 視窗標題
window.title("你喜歡我嗎?")

# 視窗的大小   運用小寫的x來連線
window.geometry("380x400")

#視窗位置(距離螢幕左上角)      運用+來連線
window.geometry("+500+240")  # geometry意為幾何
#上述可以寫成window.geometry("380x200+500+245"),其中+是用來連線的

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

# 標籤控制元件,一般第一個引數均是父級視窗         ,這裡傳參為window           fg設定顏色
label = Label(window, text = "Hey,小姐姐", font = ("微軟雅黑",15), fg="black")

# 定位  grid(網格式) pack(包的方式) place(用的最少的一種,根據位置)
label.grid(row=0,column =0)      #預設值為 0  0

label_1 = Label(window,text = "喜歡我嗎?",font = ("微軟雅黑",25))
label_1.grid(row=1,column = 1,sticky = E) #sticky為對齊方式  N上S下W左E右

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

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

btn1 =Button(window,text="不喜歡",command = disLove)
btn1 .grid(row = 3,column = 1,sticky = E)
#顯示視窗 訊息迴圈
window .mainloop()