python的tkinter模块

本文介绍了一个使用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()

 

Python Tkinter模块提供了一个用户友好的图形用户界面(GUI)框架,可以用于创建简单的GUI应用程序,这些应用程序可以跨平台运行,所以TkinterPython GUI编程的一种流行的选择。TkinterPython的标准GUI库,它包含了很多常见的基本控件,如标签、按钮、文本框、滑块、菜单、复选框、单选钮等,同时Tkinter也支持画布、弹出窗口、消息框等。 Python Tkinter模块具有很多好处。首先,它易于学习和编写。它的语法简单明了,清晰易懂,甚至对于没有任何编程经验的人也很容易理解。其次,有很多教程和文档可供参考,许多初学者和专业开发人员都能从中受益。第三,它是免费的,可以在大多数操作系统上自由使用。 Tkinter的一个非常重要的特性是它的跨平台性。无论是在Windows、Mac还是Linux,Tkinter都能够很好地运行。这大大简化了Python GUI应用程序开发的过程,因为开发人员不必担心在不同平台上的兼容性问题。 Tkinter还非常灵活,它支持很多定制化选项。开发人员可以定制控件的颜色、字体、大小、位置、样式等,以实现自己的需求。此外,Tkinter还支持GUI应用程序的国际化和本地化,使得应用程序可以在不同的语言环境中运行。 总之,Python Tkinter模块是一个灵活、易学、易用的GUI框架,适用于初学者和专业开发人员。使用Tkinter,你可以轻松创建GUI应用程序,并且其跨平台能力使得其使用范围非常广泛。随着Python的不断发展,预计Tkinter也将持续改进和升级,成为更加强大和灵活的GUI框架。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值