如何使用Python表白
先看效果图
一、具体步骤
1.首先我们要安装tkinter库
pip install tkinter
等待安装完成即可
2.使用步骤引入库
from tkinter import *
from tkinter import messagebox
import smtplib
3.先建立一个窗口并且设置窗口的参数
window = Tk()
#设置窗口大小,宽x高
window.geometry('350x200')
#设置窗口的位置,基于屏幕的坐标 相对位置+x轴+y轴
window.geometry("+650+250")
#设置窗口的标题
window.title('我帅吗?')
#设置标签
a = Label(window,text='小朋友',font=('微软雅黑',15))
#网格式的显示 默认第0行第0列
a.grid()
b = Label(window,text='我是不是很帅呢?',font=('微软雅黑',15))
#网格式的显示 设置行列,上下左右对齐方式N S W E 这里靠左
#因为grid是网格的方法,所以分为行列,这里放到第一行第一列
b.grid(row=1,column=1,sticky=W)
#设置循环,不然窗口无法显示出来
window.mainloop()
注:设置循环很重要,不然窗口是无法显示出来
4.制作关窗点击事件
def closewindow():
#messagebox.showinfo()出现一个提示框,title标题,message显示的信息
messagebox.showinfo(title='警告',message='不许关闭,好好回答')
window.protocol("WM_DELETE_WINDOW",closewindow)
5.设置按钮
#第一个按钮,宽高,点击之后会触发command的new方法
btn1 = Button(window,text='帅气',font=('微软雅黑',18),command=new)
btn1.grid(row=4,column=1,sticky=W)
#第二个按钮
btn2 = Button(window,text='不帅',font=('微软雅黑',18),command=two)
btn2.grid(row=4,column=2,sticky=W)
6.创建新的子窗口
def new():
# Toplevel是一个独立的窗口, TK已经是最大的窗口了,所有的窗口都在tk下
love =Toplevel(window)
love.geometry('300x150+800+450')
label = Label(love,text='我觉得你也很漂亮哦',font=('微软雅黑',24))
#类似grid()
label.pack()
btn = Button(love,text='确定',width=10,height=2,command=like)
btn.pack()
注:上述的是博主给的格式,只做参考。文章最后会附上完整的代码
7.你们最想要的完整代码来了
from tkinter import *
from tkinter import messagebox
import smtplib
window = Tk()
#设置窗口大小,宽x高
window.geometry('350x200')
#设置窗口的位置,基于屏幕的坐标 相对位置+x轴+y轴
window.geometry("+650+250")
#设置窗口的标题
window.title('我帅吗?')
#设置标签
a = Label(window,text='小朋友',font=('微软雅黑',15))
#网格式的显示 默认第0行第0列
a.grid()
b = Label(window,text='我是不是很帅呢?',font=('微软雅黑',15))
#网格式的显示 设置行列,上下左右对齐方式N S W E 这里靠左
b.grid(row=1,column=1,sticky=W)
#新窗口
def new():
# Toplevel是一个独立的窗口, TK已经是最大的窗口了,所有的窗口都在tk下
love =Toplevel(window)
love.geometry('300x150+800+450')
label = Label(love,text='我觉得你也很漂亮哦',font=('微软雅黑',24))
#类似grid()
label.pack()
btn = Button(love,text='确定',width=10,height=2,command=like)
btn.pack()
#点击帅气触发
def like():
like =Toplevel(window) #创建一个对话框,属于window
like.geometry('300x150+800+450') #设置窗口大小和位置
label = Label(like,text='加个微信呗~',font=('微软雅黑',24)) #显示的文字
label.pack()
#entry和文本框一样,它可以将输入的东西显示成某个字符,
entry = Entry(like,font=('微软雅黑',24),fg='red')
entry.pack()
global text
text=entry.get()
btn = Button(like,text='确定',width=10,height=2,command=jiaweix)
btn.pack()
print(text)
#加微信
def jiaweix():
jia = Toplevel(window)
jia.geometry('300x150+800+500')
jia.title('一定要加哦')
c = Label(jia,text='15207938429',font=('微软雅黑',15))
c.pack()
btn3 =Button(jia,text='不加是小狗',width=10,height=2,command=colssweind)
btn3.pack()
#关闭所有窗口
def colssweind():
window.destroy()
#新建第二个窗口
def two():
dislove =Toplevel(window)
dislove.geometry('300x150+800+450')
Label2=Label(dislove,text='再给你一次机会',font=('微软雅黑',20))
Label2.pack()
but4=Button(dislove,text="好的吧",font=('微软雅黑',15),command=dislove.destroy)
but4.pack(side=LEFT)
but5=Button(dislove,text='不需要',font=('微软雅黑',15),command=three)
but5.pack(side=RIGHT)
def three():
dislove =Toplevel(window)
dislove.geometry('300x150+800+500')
Label2=Label(dislove,text='回答错误,再来',font=('微软雅黑',20))
Label2.pack()
but4=Button(dislove,text="你真帅",font=('微软雅黑',15),command=dislove.destroy)
but4.pack(side=LEFT)
but5=Button(dislove,text='我不来',font=('微软雅黑',15),command=four)
but5.pack(side=RIGHT)
def four():
dislove =Toplevel(window)
dislove.geometry('300x150+800+550')
Label2=Label(dislove,text='再皮老子锤死你',font=('微软雅黑',20))
Label2.pack()
but4=Button(dislove,text="你真帅",font=('微软雅黑',15),command=dislove.destroy)
but4.pack(side=LEFT)
but5=Button(dislove,text='我不怂',font=('微软雅黑',15),command=five)
but5.pack(side=RIGHT)
def five():
dislove =Toplevel(window)
dislove.geometry('300x150+800+600')
Label2=Label(dislove,text='好了,你没机会了',font=('微软雅黑',20))
Label2.pack()
but4=Button(dislove,text="你真帅",font=('微软雅黑',15),command=dislove.destroy)
but4.pack()
#设置两个按钮
#第一个按钮,宽高,点击之后会触发command的new方法
btn1 = Button(window,text='帅气',font=('微软雅黑',18),command=new)
btn1.grid(row=4,column=1,sticky=W)
#第二个按钮
btn2 = Button(window,text='不帅',font=('微软雅黑',18),command=two)
btn2.grid(row=4,column=2,sticky=W)
#制作关窗点击事件
def closewindow():
#messagebox.showinfo()出现一个提示框,title标题,message显示的信息
messagebox.showinfo(title='警告',message='不许关闭,好好回答')
window.protocol("WM_DELETE_WINDOW",closewindow)
#设置循环,不然窗口无法显示出来
window.mainloop()
这次就分享到这里咯,最后觉得不错的请点个小赞