Python-制作一个表白成功的界面

展示效果

这篇博客是关于使用Python的Tkinter模块创建一个简单界面的示例,该界面用于模拟表白的情景。文章提供了对代码的详细介绍。

1. 导入模块:

   import tkinter as tk
   from tkinter import messagebox
   from tkinter import ttk

tkinter: Python 的标准图形用户界面(GUI)工具包。
messagebox: 提供了一种简单的对话框用于显示消息或获取用户的简单输入。
ttk: 提供了一组用于创建更加现代化外观的小部件的"themed"(主题化)小部件。

2. 定义函数:

on_agree(): 当用户点击愿意按钮时执行的函数。它显示一个消息框,表明用户愿意,并关闭窗口。
on_disagree(): 当用户点击不愿意按钮时执行的函数。它显示一个消息框,表示用户不愿意,但会等待答复。
on_closing(): 当用户尝试关闭窗口时执行的函数。它显示一个消息框,提示用户点击按钮做出选择。


3. 创建主窗口:

   root = tk.Tk()
   root.title("表白")
   root.geometry("300x150")

创建了一个窗口实例,标题为“表白”,大小为 300x150 像素。

4. 设置背景颜色:

   root.configure(bg='#FFCCCC')

将窗口的背景颜色设置为浅粉色。

5. 创建标签:

label = ttk.Label(root, text="亲爱的,我爱你,愿意做我女朋友吗?", foreground="black", font=("Helvetica", 12, "bold"))

label.pack(pady=10)

创建了一个用于显示文本的标签小部件,文本内容是"亲爱的,我爱你,愿意做我女朋友吗?",设置了字体为黑色,字体样式为12号Helvetica粗体。
6. 创建按钮:

agree_button = ttk.Button(frame, text="愿意", command=on_agree, style="AccentButton.TButton")
disagree_button = ttk.Button(frame, text="不愿意", command=on_disagree, style="DangerButton.TButton")

创建了两个按钮,一个是“愿意”按钮,一个是“不愿意”按钮,分别绑定了on_agree()和on_disagree()函数。
7.定义按钮样式:

   style.configure('AccentButton.TButton', foreground='black', background='#FF5733')
   style.configure('DangerButton.TButton', foreground='black', background='#C70039')

使用ttk.Style()创建了样式对象,并为"AccentButton.TButton"和"DangerButton.TButton"两种按钮样式分别设置了前景色(文本颜色)和背景色。

8. 拦截窗口关闭操作:

root.protocol("WM_DELETE_WINDOW", on_closing)

当用户尝试关闭窗口时,会调用on_closing()函数,显示一个提示消息框。
9.进入主事件循环:

root.mainloop()

开始运行窗口应用程序,等待用户交互事件的发生。完整的代码如下:

import tkinter as tk
from tkinter import messagebox
from tkinter import ttk

# 当用户点击愿意按钮时执行的函数
def on_agree():
    # 弹出消息框,显示表白成功的信息
    messagebox.showinfo("表白成功", "你同意了!我爱你!")
    # 关闭窗口
    root.destroy()

# 当用户点击不愿意按钮时执行的函数
def on_disagree():
    # 弹出消息框,提示用户会一直等待答复
    messagebox.showinfo("提示", "亲爱的,回答错误,请重新选择喔!")

# 当用户尝试关闭窗口时执行的函数
def on_closing():
    # 弹出消息框,提示用户点击按钮做出选择
    messagebox.showinfo("提示", "亲爱的,请点击按钮做出选择!")

# 创建主窗口
root = tk.Tk()
root.title("表白墙")
root.geometry("300x150")

# 设置背景颜色
root.configure(bg='#FFCCCC')

# 使用ttk模块创建标签,样式稍微漂亮一些
label = ttk.Label(root, text="亲爱的,我爱你,愿意做我女朋友吗?", foreground="black", font=("Helvetica", 12, "bold"))
label.pack(pady=10)

# 使用ttk模块创建框架
frame = ttk.Frame(root)
frame.pack()

# 使用ttk模块创建愿意按钮,设置按钮背景色和前景色
agree_button = ttk.Button(frame, text="愿意", command=on_agree, style="AccentButton.TButton")
agree_button.pack(side=tk.LEFT, padx=10)

# 使用ttk模块创建不愿意按钮,设置按钮背景色和前景色
disagree_button = ttk.Button(frame, text="不愿意", command=on_disagree, style="DangerButton.TButton")
disagree_button.pack(side=tk.LEFT, padx=10)

# 拦截窗口关闭操作,绑定到on_closing函数
root.protocol("WM_DELETE_WINDOW", on_closing)

# 定义按钮样式
style = ttk.Style()

# 定义愿意按钮样式
style.configure('AccentButton.TButton', foreground='black', background='#FF5733')

# 定义不愿意按钮样式
style.configure('DangerButton.TButton', foreground='black', background='#C70039')

# 进入主事件循环
root.mainloop()

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值