【Python】tkinter messagebox练习笔记

news2024/9/29 5:35:19

我一好友在朋友圈看到人家用代码花式秀恩爱,让我也做一个,我就用我学习半年python的功力,做了这一个东西。🙏

窗口主页面(图一)

为了让我这个盆友有颜面,特意做了一个问答问他帅不帅,以我对他的了解,肯定选很帅,所以坑点就设计在这里了。😋

如果点还可以

证明他还有自知之明,我会温馨的提示他早点睡

    if num == 1:
        messagebox.showinfo('温馨提示', '早点睡', icon="question", type='okcancel')

m = tkinter.Radiobutton(frame1, text="还可以", variable=var, value=1, command=show)
m.pack()

如果点很帅

我就要惩罚他了,用文字来骗他电脑中毒。

ms = messagebox.showinfo('系统错误', '系统正在受到未知来源的病毒攻击!\n(ERROR_3X007)', icon="error", type='abortretryignore')

点击终止

则会骗他电脑即将关机,给他先苦后甜。

 me = messagebox.showinfo('温馨提示', '电脑将自动关机', icon="question", type='ok')
    if me == 'ok':
        mh = messagebox.showinfo('温馨提示', '没那个技术,骗你的', icon="question", type='ok')

点击重试

则会点一次后面的数字+1,让他享受数字增长的快乐

            while i :
                # 遍历让数字累加
                mh = messagebox.showinfo('系统错误', '系统正在受到未知来源的病毒攻击+%d!\n(ERROR_3X007)'%i,
                                         icon="error", type='abortretryignore')
                i += 1

点击忽略

这个就可以直接退掉,直接用return返回就行

如果点击不敢苟同

则会进入下一个页面

def sure():
    frame1.pack_forget()
    frame2.pack()


wm = tkinter.Button(frame1, text="不敢苟同")
wm.pack()
wm.config(command=sure)

第二个页面

如果点击X直接退出的话

则会弹出弹窗,不让他退出,只能夸我帅,才能退出。

友情提示:本招只适合关系好,且不懂编程的人适用。

源码

里面图标自行更换,用icon格式

import tkinter
from tkinter import messagebox
from tkinter.messagebox import showinfo, showerror, showwarning, askokcancel, askquestion, askyesno, askyesnocancel, askretrycancel

def slow():
    me = messagebox.showinfo('温馨提示', '电脑将自动关机', icon="question", type='ok')
    if me == 'ok':
        mh = messagebox.showinfo('温馨提示', '没那个技术,骗你的', icon="question", type='ok')

def show():
    # 获取var的值
    num = var.get()
    # 如果值为1,更改text值为
    if num == 1:
        label.config(text="谦虚")
        messagebox.showinfo('温馨提示', '早点睡', icon="question", type='okcancel')
    # 如果值为2,更改text值为
    else:
        label.config(text="自恋")
        ms = messagebox.showinfo('系统错误', '系统正在受到未知来源的病毒攻击!\n(ERROR_3X007)', icon="error", type='abortretryignore')
        if ms == 'abort':
            slow()
        elif ms == 'retry':
            i = 1
            while i :
                # 遍历让数字累加
                mh = messagebox.showinfo('系统错误', '系统正在受到未知来源的病毒攻击+%d!\n(ERROR_3X007)'%i,
                                         icon="error", type='abortretryignore')
                i += 1
                if mh == 'abort':
                    # 调用函数
                    slow()
                if mh == 'ignore':
                    return
        else:
            return

# 创建主窗口
root = tkinter.Tk()
# 整型对象
var = tkinter.IntVar()
# 设置默认选项为0
var.set(0)
root.title('调查表')
root.iconbitmap('甜甜私房猫图标cat1-ico_爱给网_aigei_com.ico')
# 第一章
frame1 = tkinter.Frame(root)
frame1.pack()
label = tkinter.Label(frame1, text="你认为你很帅吗", bg="lightyellow", width=30)
label.pack()

# 创建选项按钮,值为1,点击此按钮自动调用show函数
man = tkinter.Radiobutton(frame1, text="还可以", variable=var, value=1, command=show)
man.pack()

# 创建选项按钮,值为2
woman = tkinter.Radiobutton(frame1, text="很帅", variable=var, value=2, command=show)
woman.pack()

def sure():
    frame1.pack_forget()
    frame2.pack()


wm = tkinter.Button(frame1, text="不敢苟同")
wm.pack()
wm.config(command=sure)
def on_exit():
    mee = messagebox.showwarning(title='提示',message='此路不通')
    if mee == 'ok':
        ee = messagebox.showwarning(title='大喊', message='刘佳皓最帅')

root.protocol('WM_DELETE_WINDOW',on_exit)
# 第二章
frame2 = tkinter.Frame(root)
tkinter.Label(frame2,text='点击两下按钮退出',
              font=('黑体',10),
              justify=tkinter.LEFT,
              height=20,
              width=50,
              fg="red").pack()
tkinter.Button(frame2,text="刘佳皓最帅",command=root.quit).place(relx=0.4,rely=0.7)
root.mainloop()

本片文章部分有借鉴之处,但找不到借鉴的文章了,感谢大神的文章的支持。

感谢大家的观看,如果觉得有意思的话请留下你的赞。😃

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/339295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Active Directory 02 - Windows Kerberos Authentication(Kerberos 协议鉴权)

写在最前 如果你是信息安全爱好者,如果你想考一些证书来提升自己的能力,那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里: https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助,并分享学习和实践过程…

从0到1一步一步玩转openEuler--11 openEuler基础配置-设置磁盘调度算法

11 openEuler基础配置-设置磁盘调度算法 文章目录11 openEuler基础配置-设置磁盘调度算法11.1 设置磁盘调度算法11.1.1 临时修改调度策略11.1.2 永久设置调度策略11.1 设置磁盘调度算法 本节介绍如何设置磁盘调度算法。 11.1.1 临时修改调度策略 例如将所有IO调度算法修改为…

js逆向-某头条_signature参数

前言 头条的加密参数_signature其实可以通过搜索来直接定位到关键位置,我们换种定位的方法 定位 先查看下堆栈,直接在第一个XMLHttpRequest.send的位置下上断点,然后下拉触发断点 这个位置还有其他请求,这里只看/api/pc/list…

2023 AIME 答案与解析 - 第二期(完结)

原题目 Find the number of cubic polynomials where and are integers in such that there is a unique integer with 绿树教育中心独家解析 是一个有两个整数根的三次方程,因此它有三个整数根。所以, 或 ,其中 。 「Case 1」 ,则…

关于spring bean的生命周期的个人理解(根据官方文档学习)

首先说一下Servlet的生命周期:实例化,初始init,接受service,销毁destroy; spring上下文中的Bean 生命周期也是类似,如下: (1)实例化Bean 对于Bean Factory容器&#xf…

elasticsearch更新和删除

文档更新文档的更新经历三个步骤,检索、修改、重新索引部分更新在原有文档已经存在的情况下,可以对原有的文档部分字段更新,使用POST请求,发送到/_update如果文档是不存在的,更新操作是失败的存在则更新,不…

Qt C++ 自定义仪表盘控件02

简介仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率。本文分享了几个经典常用的仪表盘控件,在项目中可以…

利用升序定时器链表处理非活动连接

参考自游双《Linux高性能服务器编程》 背景 服务器同常需要定期处理非活动连接:给客户发一个重连请求,或关闭该连接,或者其他。我们可以通过使用升序定时器链表处理非活动连接,下面的代码利用alarm函数周期性的触发SIGALRM信号&a…

半人半妖时代来啦

未来是半人半妖时代!!! 碳基生命与硅基生命结合 趣讲大白话:人和机器结合是大趋势 *********** 人工智能就是宗~教 科技宗~教的一支最强势的教派 日常使用智能机器的人就是信众 维护机器的人就是牧师 创造这…

【mock】手把手带你用mock写自定义接口+mock常用语法

mock自定义接口完整流程 官网语法规范:https://github.com/nuysoft/Mock/wiki/Syntax-Specification 首先: 要有一个项目,我这里是vue3项目,以下从vue3项目搭建开始,已搭建好的请直接看2 1.空目录下新建vue3项目 运行创建项目命令: 在bash中:(文件路径处输入cm…

【计组】内存和总线--《深入浅出计算机组成原理》(十)

课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间 一、虚拟内存和内存保护 日常使用的操作系统下,程序不能直接访问物理内存。内存需要被分成固定大小的页(Page),再通过虚拟内存地址(Virtu…

卡通形象人物2 写代码-睡觉 丝滑如德芙

目录 本次实现效果 目录结构 index static/css/style.css static/js/script.js 结语: 前期回顾 【 css动画 】—— 把你喜欢css动画嵌入到浏览器中_0.活在风浪里的博客-CSDN博客常用酷炫动画999合集,代码直接复制可用,总用你想找的…

【Java】 JAVA Notes

JAVA语言帮助笔记Java的安装与JDKJava命名规范JAVA的数据类型自动类型转换强制类型转换JAVA的运算符取余运算结果的符号逻辑运算的短路运算三元运算符运算符优先级JAVA的流程控制分支结构JAVA类Scanner类Math 类random方法获取随机数Java的安装与JDK JDK安装网站:h…

AXI 总线协议学习笔记(4)

引言 前面两篇博文从简单介绍的角度说明了 AXI协议规范。 AXI 总线协议学习笔记(2) AXI 总线协议学习笔记(3) 从本篇开始,详细翻译并学习AXI协议的官方发布规范。 文档中的时序图说明: AXI指&#xff1…

基础面试题:堆和栈的区别

面试题:堆和栈的区别(往往讲的是内存zha) 为什么说访问栈栈比访问堆快些? 目录 一、数据结构中的堆栈 1、数据结构中的堆 1)堆的定义 2)堆的效率 2、 数据结构中的栈 二、内存中的堆栈 1、内存堆的定义…

Stm32 for arduino STM32G071GBU6 I2C and SERIAL

文件目录: C:\Users\Administrator\AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.3.0\variants\STM32G0xx\G071G(6-8-B)U_G081GBU boards_entry.txt Generic G071GBUx GenG0.menu.pnum.GENERIC_G071GBUXGeneric G071GBUx GenG0.menu.pnum.GENERIC…

SpringMVC:统一异常处理(11)

统一异常处理1. 说明2. 问题描述3. 异常处理器使用3.1 创建异常处理器类3.2 让程序抛出异常3.3 测试4. 项目异常处理方案4.1 异常分类4.2 异常解决方案4.3 异常解决方案的具体实现4.4 测试5. 总结1. 说明 \quad本篇文章是在文章SpringMVC:SSM整合(Spring…

【Vuex 源码学习】第六篇 - Vuex 的模块收集

一,前言 上一篇,主要介绍了 Vuex 中 Mutations 和 Actions 的实现,主要涉及以下几个点: 将 options 选项中定义的 mutation 方法绑定到 store 实例的 mutations 对象;创建并实现 commit 方法(同步&#x…

最近挺火的人工智能chatGPT注册

文章目录1.前提预备1.1 短信接收平台1.2 ip加速,不做说明2.注册chatGPT步骤2.1 进入chat.openai.com网址后,点击sign up2.2 可以使用qq邮箱注册2.3 填写好邮箱,然后点击Continue,然后再填写密码2.4 之后在qq邮箱进行验证注册(注意&#xff1a…

C++入门——内存管理

C入门——内存管理 C/C内存分布 分类是为了更好的管理 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] {1, 2, 3, 4};char char2[] "abcd";char* pChar3 "abcd";int* ptr1 (…