python的tkinter模块

这是一个实现起来很有意思的模块,因为它能生成窗口,可以按钮点击,现在笔者来一步步做一个调皮的表白小程序。

from tkinter import  *
from tkinter import messagebox

#创建窗口
window=Tk()
#这个是窗口的头部标题
window.title("喜欢就表白啊,不行就下药,坐牢都不敢你还说爱她")
#窗口生成的位置,这里是和屏幕左上角的x,y
window.geometry("400x320+540+250")
#窗口关闭
window.protocol('WM_DELETE_WINDOW',closeWindow)
#显示文本,设置字体和大小
lable1=Label(window,text="喜欢我吗?",font=('微软雅黑',20))
lable1.grid(row=0,column=1,sticky=W)
lable2=Label(window,text='     ',font=('微软雅黑',20))
lable2.grid(row=2,column=2)
lable3=Label(window,text='       ',font=('微软雅黑',20))
lable3.grid(row=2,column=3)
#插入图片
photo1=PhotoImage(file='E:/PyCharm/untitled1/photo1.png')
imgLable=Label(window,image=photo1)
imgLable.grid(row=1,columnspan=3,sticky=E)
#生成按钮
button1=Button(window,text='喜欢',width=15,height=2,command=islike)
#设置按钮位置
button1.grid (row=2,column=0,sticky=W)

button2=Button(window,text="不喜欢",width=5,height=1,command=nolike)
button2.grid(row=2,column=4,sticky=E)

#显示窗口 消息循环
window.mainloop()

看效果图

emmmmmmm,俨然一副逗比效果呈现,然后比如美女看到了,直接叉掉,那后面的就展示不出来了,所以:

def closeWindow():
    messagebox.showerror(title="警告",message="回答完再走啦")

做一个警告弹窗,当点击×的时候触发函数,窗口关闭已经在第一步就写好了,调用参照前文.

既然已经关不掉了,就要强迫美眉点喜欢,如果点不喜欢,重复弹窗让她重新考虑

def nolike():
    #Toplevel是在window之上建立的独立顶级窗口
    global posY
    posY=posY + 5
    noWindow=Toplevel(window)
    noWindow.title('别骗自己了')
    noWindow.geometry('300x100+580+'+str(posY))
    no_lable=Label(noWindow,text='再考虑考虑',font=('微软雅黑',20))
    #显示方式
    no_lable.pack()
    button1=Button(noWindow,text='好的',width=10,height=2,command=noWindow.destroy)
    button1.pack()
    # 点击关闭按钮调用函数
    # noWindow.protocol('WM_DELETE_WINDOW',close_noLike)
    noWindow.protocol('WM_DELETE_WINDOW', nolike)

调用在生成按钮的时候就写好了,这里把实现写出来,如上图,每次点击不喜欢都会生成这个,看效果图

这回女神得点喜欢了吧,可以自己设计文本和按键哦,这里放出个模板

def islike():
    yesWindow=Toplevel(window)
    yesWindow.title('开心')
    yesWindow.geometry('300x100+580+290')
    yes_lable=Label(yesWindow,text='在一起吧',font=('微软雅黑',20))
    yes_lable.pack()
    button1=Button(yesWindow,text='好的',width=10,height=2,command= window.destroy)
    button1.pack()
    #点击关闭按钮调用函数
    yesWindow.protocol('WM_DELETE_WINDOW',close_like)

比如说弹出喜欢就和我在一起吧,同样不让她点×,让她点好的,这样一个小程序就做好了啦,下面贴出完整源码

from tkinter import  *
#理论上*就是导入全部但是有时候并不是,所以这个地方需要导入messagebox
from tkinter import messagebox

def closeWindow():
    messagebox.showerror(title="警告",message="回答完再走啦")

def close_like():
    pass

posY=300
def nolike():
    #Toplevel是在window之上建立的独立顶级窗口
    global posY
    posY=posY + 5
    noWindow=Toplevel(window)
    noWindow.title('别骗自己了')
    noWindow.geometry('300x100+580+'+str(posY))
    no_lable=Label(noWindow,text='再考虑考虑',font=('微软雅黑',20))
    #显示方式
    no_lable.pack()
    button1=Button(noWindow,text='好的',width=10,height=2,command=noWindow.destroy)
    button1.pack()
    # 点击关闭按钮调用函数
    # noWindow.protocol('WM_DELETE_WINDOW',close_noLike)
    noWindow.protocol('WM_DELETE_WINDOW', nolike)
def islike():
    yesWindow=Toplevel(window)
    yesWindow.title('开心')
    yesWindow.geometry('300x100+580+290')
    yes_lable=Label(yesWindow,text='在一起吧',font=('微软雅黑',20))
    yes_lable.pack()
    button1=Button(yesWindow,text='好的',width=10,height=2,command= window.destroy)
    button1.pack()
    #点击关闭按钮调用函数
    yesWindow.protocol('WM_DELETE_WINDOW',close_like)
#创建窗口
window=Tk()
window.title("喜欢就表白啊,不行就下药,坐牢都不敢你还说爱她")
window.geometry("400x320+540+250")
window.protocol('WM_DELETE_WINDOW',closeWindow)

lable1=Label(window,text="喜欢我吗?",font=('微软雅黑',20))
lable1.grid(row=0,column=1,sticky=W)
lable2=Label(window,text='     ',font=('微软雅黑',20))
lable2.grid(row=2,column=2)
lable3=Label(window,text='       ',font=('微软雅黑',20))
lable3.grid(row=2,column=3)

photo1=PhotoImage(file='E:/PyCharm/untitled1/photo1.png')
imgLable=Label(window,image=photo1)
imgLable.grid(row=1,columnspan=3,sticky=E)

button1=Button(window,text='喜欢',width=15,height=2,command=islike)
button1.grid (row=2,column=0,sticky=W)

button2=Button(window,text="不喜欢",width=5,height=1,command=nolike)
button2.grid(row=2,column=4,sticky=E)

#显示窗口 消息循环
window.mainloop()

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值