首页 > 其他分享 >代码7

代码7

时间:2024-04-29 14:55:24浏览次数:27  
标签:tkinter 创建 代码 复选框 hobby root self

"""checkbutton用法"""
# 导入tkinter库,这是一个用于创建图形用户界面(GUI)的Python库
from tkinter import *
# 导入tkinter库中的messagebox模块,用于显示对话框
from tkinter import messagebox


# 定义一个Application类,它继承自tkinter库中的Frame类
class Application(Frame):
    """一个用于创建经典GUI程序的类"""

    # 类的初始化方法
    def __init__(self, master=None):
        # 调用父类的初始化方法,super()代表父类,而不是父类对象
        # 这里是OOP中的多态性的应用,使得我们可以在子类中调用父类的方法
        super().__init__(master)
        self.master = master  # 保存对根窗口的引用
        self.pack()  # 将Frame打包到其父组件(这里是根窗口)
        self.create_widget()  # 调用方法创建GUI组件

    # 定义一个方法来创建GUI的各种组件
    def create_widget(self):
        # 使用IntVar创建一个变量,用于存储复选框的选中状态
        self.code_hobby = IntVar()
        self.video_hobby = IntVar()
        print(self.code_hobby.get())  # 打印初始值,应该是0
        # 创建两个复选框,分别对应不同的爱好
        self.c1 = Checkbutton(root, text="敲代码", variable=self.code_hobby, onvalue=1, offvalue=0)
        self.c2 = Checkbutton(root, text="看视频", variable=self.video_hobby, onvalue=1, offvalue=0)
        # 将复选框放置在窗口的左侧
        self.c1.pack(side="left")
        self.c2.pack(side="left")
        # 创建一个按钮,当点击时会调用confirm方法
        Button(root, text="确定", command=self.confirm).pack(side="left")

    def confirm(self):
        # 当视频爱好的复选框被选中时,弹出一个对话框
        if self.video_hobby.get() == 1:
            messagebox.showinfo("测试", "看视频,都是正常人有的爱好!你喜欢看什么类型?")
        # 当代码爱好的复选框被选中时,弹出另一个对话框
        if self.code_hobby.get() == 1:
            messagebox.showinfo("测试", "抓获野生程序猿一只,赶紧送给他尚学堂的视频充饥")


# 创建一个Tk窗口实例作为根窗口
root = Tk()
# 设置窗口的大小和位置
root.geometry("400x100+200+300")
# 设置窗口的标题
root.title("checkbutton测试")
# 创建Application类的实例,并将其与根窗口关联起来
app = Application(master=root)
# 进入Tkinter事件循环,等待用户的交互操作
root.mainloop()

标签:tkinter,创建,代码,复选框,hobby,root,self
From: https://www.cnblogs.com/aihonghua/p/18165710

相关文章

  • java代码运行出现DENIED Redis is running in protected mode because protected mode
    这个错误是因为开启了保护模式,导致出错。所以需要关闭redis的保护模式。编辑redis的redis.config  注释bind127.0.0.1 、修改protected-mode为no、修改 daemonize为no然后重启redis ......
  • Godot的游戏开发思考(无代码)
    目录前言GDScriptorC#?C#IOC开发代码和引擎的平衡Godot如何学习多而精炼的小Demo后面的学习的方向Ai绘画和Ai声音的学习前言我断断续续学了快半年的Godot了吧,从去年的Unity事件发生之后开始接触,然后断断续续学到了现在,这里就简单讲讲我对Godot的看法GDScriptorC#?GDScript......
  • 重大更新!开源无代码 / 低代码平台 NocoBase v1.0 正式发布!
    NocoBase是一个极易扩展的开源无代码开发平台。完全掌控,无限扩展,助力你的开发团队快速响应变化,显著降低成本,不必投入几年时间和数百万资金研发,只需要花几分钟部署NocoBase。NocoBase中文官网官方文档在线Demov1.0里程碑历时3年,NocoBase迎来第一次根版本号升级,版本号......
  • 39天【代码随想录算法训练营34期】第九章 动态规划part02(● 62.不同路径 ● 63. 不同
    62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:table=[[0]*n]*mforxinrange(n):table[0][x]=1foryinrange(m):table[y][0]=1foryinrange(1,m):......
  • 小程序图片缓存策略(不改代码更换OSS图片)
    昨天,后端给我提了一个问题:他更换了CDN上的图片,但是他打开小程序来看,还是旧图片,他尝试过删除小程序,重新进,还是旧图片。我第一反应是:“你有没有清CDN缓存?“他说:”我在阿里云CDN控制台刷新缓存了,都两三天了,还是旧图片。”(后来我看过刷缓存记录,一天前刚刷的,他夸张了。。。)我说:“那......
  • Git 代码管理规范
     Git代码管理规范  分支命名master分支master为主分支,也是用于部署生产环境的分支,需要确保master分支稳定性。master分支一般由release以及hotfix分支合并,任何时间都不能直接修改代码。develop分支develop为开发环境分支,始终保持最新完成以及bug修复后的代码,......
  • 一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
    前言C#代码格式化工具除了ReSharper和CodeMaid,还有一款由.NET开源、免费(MITLicense)、轻量级的C#语言代码格式化工具:CSharpier。工具介绍CSharpier是一款开源、免费、轻量级的C#语言代码格式化工具。它使用Roslyn来解析你的代码,并根据其自身的规则重新格式化代码。工具支持IDE......
  • 【注意】当同一个Class的多个对象出现在同一段代码内的时候,极易出错。
    同一个方法里,多个BankOrderFlow对象...这像“shǐ”一样的代码下面的paymentQuery方法坐落于我们lijianjin系统的LiJianJinPaymentQueryBizService。这两个bankOrderFlow、orderFlow,...乱花渐欲迷人眼的赶脚,但其实,这是像“shǐ”一样的代码。    无独有偶,bug来了......
  • 38天【代码随想录算法训练营34期】第九章 动态规划part01 (● 理论基础 ● 509. 斐波
    理论基础斐波那契数classSolution:deffib(self,n:int)->int:ifn==0:return0ifn==1:return1returnself.fib(n-1)+self.fib(n-2)爬楼梯classSolution:defclimbStairs(self,n:int)->i......
  • R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归|附代码数据
    原文链接:http://tecdat.cn/?p=4146 原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于用电负荷时间序列的研究报告,包括一些图形和统计输出。通过对用电负荷的消费者进行聚类,我们可以提取典型的负荷曲线,提高后续用电量预测的准确性,检测异常或监控整个智能电网(Laurinec等......