网红表白弹窗

如何使用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()

这次就分享到这里咯,最后觉得不错的请点个小赞

### 如何使用 Python 创建表白弹窗 为了创建一个简单的表白弹窗,可以采用 `tkinter` 库来构建图形用户界面 (GUI),这允许开发者轻松设计并显示消息框给用户。下面是一个基础的例子,它会打开一个小窗口,在其中展示一条表白的信息。 #### 导入必要的库 首先需要导入 Tkinter 和其他可能需要用到的模块: ```python import tkinter as tk from tkinter import messagebox ``` #### 定义函数以创建和配置窗口 定义一个函数用来设置窗口属性以及添加按钮触发事件处理逻辑: ```python def create_love_window(): root = tk.Tk() screen_width = root.winfo_screenwidth() screen_height = root.winfo_screenheight() position_right = int(screen_width/2 - 100) position_down = int(screen_height/2 - 50) root.geometry(f"200x100+{position_right}+{position_down}") root.title("Confession") label = tk.Label(root, text="Do you accept my love?") label.pack(pady=20) button_frame = tk.Frame(root) yes_button = tk.Button(button_frame, text='Yes', command=lambda: response(True)) no_button = tk.Button(button_frame, text='No', command=lambda: response(False)) yes_button.grid(row=0, column=0, padx=5) no_button.grid(row=0, column=1, padx=5) button_frame.pack(pady=(0, 20), side=tk.BOTTOM) def response(answer): if answer: messagebox.showinfo("Result", "Thank you! I'm so happy!") else: messagebox.showwarning("Oh No!", "Please reconsider.") root.destroy() root.mainloop() ``` 此段代码设置了窗口的位置使其居于屏幕中央,并且包含了两个按钮供选择“Yes” 或者 “No”,点击任一选项都会调用相应的回调函数来关闭当前窗口并给出反馈信息[^1]。 #### 运行程序 最后一步是调用之前定义好的方法启动应用程序: ```python if __name__ == "__main__": create_love_window() ``` 上述代码片段提供了一个基本框架,可以根据个人喜好进一步自定义样式、动画或者其他交互特性。值得注意的是,当涉及到更复杂的 GUI 设计时,考虑学习更多关于Tkinter的知识将会很有帮助[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值