Python中使用tkinter模块和类结构的结合使用举例——编写制作一个简单的加数GUI界面

Python中使用tkinter模块和类结构的结合使用举例——编写制作一个简单的加数GUI界面

这里写目录标题

  • Python中使用tkinter模块和类结构的结合使用举例——编写制作一个简单的加数GUI界面
    • 一、tkinter模块和类的简述
      • 1.1 tkinter的简要介绍
      • 1.2 类结构的简要介绍
    • 二、基于类机构和tkinter模块创建GUI举例
      • 2.1 问题描述
      • 2.2 具体实现程序
      • 2.3 运行结果
    • 三、小结

编写程序实现GUI界面是一种重要的编程技能,Python 作为一种面向对象的程序编程语言,也提供了GUI设计的库。本文以tkinter库为基础进行GUI的简单设计举例,并在编写过程中说明类结构的定义方法。

一、tkinter模块和类的简述

1.1 tkinter的简要介绍

在python中,编写GUI界面(图形用户界面)时候,有时会采用tkinter模块实现。tkinter作为一种最常用的ython的实际标准GUI包,是值得熟悉的,具体介绍见本人博文(链接: Python中的tkinter工具包帮助文档查询以及Python其他GUI工具包分类)

1.2 类结构的简要介绍

类提供了将数据和功能绑定在一块使用的数据结构。类是对象实例创建的模板。具体见本人博文,链接: Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例。

二、基于类机构和tkinter模块创建GUI举例

2.1 问题描述

本文采用Python中的tkinter模块编写实现一个加法器的GUI界面:在GUI界面中,有一个加1按钮,和加10按钮,并使用标签分别显示加1和加10后的结果。

2.2 具体实现程序

具体程序如下:

import tkinter as tk

## 构建一个类:NumberCounter
class NumberCounter:
    ## 定义第一个函数:函数__init__,其作用是建立一个GUI界面
    def __init__(self, root):
        self.root = root
        ##设置GUI界面的名称和尺寸
        self.root.title("加法计数")
        self.root.geometry("200x100")

        ##设置GUI界面中的第一个label
        self.number1 = 0
        self.label1 = tk.Label(self.root, text=str(self.number1),fg="black", bg="white")
        self.label1.pack()

        ##设置GUI界面中的第二个label
        self.number2 = 0
        self.label2 = tk.Label(self.root, text=str(self.number2),fg="red", bg="yellow")
        self.label2.pack()

        ## 设置GUI界面中的第一个按钮
        self.button1 = tk.Button(self.root, text="加一", command=self.increment_number1,fg="black", bg="white")
        self.button1.pack()

        ## 设置GUI界面中的第二个按钮
        self.button2 = tk.Button(self.root, text="加十", command=self.increment_number2,fg="red", bg="yellow")
        self.button2.pack()

     ## 定义第二个函数:函数increment_number1,作用为加1
    def increment_number1(self):
        self.number1 += 1
        self.label1.config(text=str(self.number1))
     ## 定义第三个函数:函数increment_number2,作用为加10
    def increment_number2(self):
        self.number2 += 10
        self.label2.config(text=str(self.number2))

if __name__ == "__main__":
    root = tk.Tk()
    number_counter = NumberCounter(root)
    root.mainloop()

2.3 运行结果

运行初始结果如图1所示。点击GUI对应按钮后的一个实例,如图2所示。

图1 初始界面
图1 初始界面

图2 鼠标点击操作后的一个显示状态
图2 鼠标点击操作后的一个显示状态

三、小结

本文通过使用tkinter模块库和类结构实现了一个计数器的GUI界面,增进了对tkinter制作GUI界面的初步认识以及对类方法具体应用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

成本降低 90%,出海社交平台 Typing 基于 Databend 的大数据探

Typing(输入中科技)成立于 2022 年,是一家主要面向东南亚、拉美、中东等海外地区提供社交平台的出海企业。其社交平台类似于国内的 Soul、陌陌等,提供视频直播、语音聊天室、短视频、生活分享、文字聊天等社交功能,注册…

【C++】零钱兑换的始端---柠檬水找零

欢迎来CILMY23的博客 本篇主题为 零钱兑换的始端---柠檬水找零 个人主页:CILMY23-CSDN博客 个人专栏系列: Python | C | C语言 | 数据结构与算法 感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言: 柠檬水找…

2024年最新【SpringBoot2】开发实用篇-测试_springboot2 test(1),2024年最新2024春招BAT面试真题详解

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化! 由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、…

吸血鬼崛起v rising皮革获取教程 v rising皮革机怎么获得

《V Rising》是一款由Stunlock Studios公司制作并发行的生存建造类游戏,以“吸血鬼”为题材。中文名为“吸血鬼崛起”。在游戏中,打boss可以获得许多掉落材料,有些材料需要合成,而制作皮革则需要使用皮革机。下面就为大家介绍一下…

利用大语言模型(KIMI)生成OPC UA 信息模型

在大语言模型没有出现之前,人们更倾向使用图形化工具或者基于窗口的软件来构建信息模型,图形化工具能够直观地表达信息模型中各元素之间的相互关系。但是图形化工具也有缺点,当描述一个复杂的信息模型时,图形会变得非常复杂和庞大…

如何通过OMS加快大表迁移至OceanBase

OMS,是OceanBase官方推出的数据迁移工具,能够满足众多数据迁移场景的需求,现已成为众多用户进行数据迁移同步的重要工具。OMS不仅支持多种数据源,还具备全量迁移、增量同步、数据校验等功能,并能够对分表进行聚合操作&…

豪投巨资,澳大利亚在追逐海市蜃楼吗?

澳大利亚政府正在积极投资于量子计算领域。继2021年向量子技术投资逾1亿澳元后,2023年5月,该国发布了首个国家量子战略,详细阐述了如何把握量子技术的未来及保持全球领先地位。 澳大利亚的国家量子战略概述 原文链接: https://ww…

jQuery-1.语法、选择器、节点操作

jQuery jQueryJavaScriptQuery&#xff0c;是一个JavaScript函数库&#xff0c;为编写JavaScript提供了更高效便捷的接口。 jQuery安装 去官网下载jQuery&#xff0c;1.x版本练习就够用 jQuery引用 <script src"lib/jquery-1.11.2.min.js"></script>…

力扣HOT100 - 4. 寻找两个正序数组的中位数

解题思路&#xff1a; 两个数组合并&#xff0c;然后根据奇偶返回中位数。 class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int m nums1.length;int n nums2.length;int[] nums new int[m n];if (m 0) {if (n % 2 0) return (nums2…

游戏专用设备指纹方案解析

如同人类拥有独一无二的指纹&#xff0c;设备也有设备的指纹&#xff0c;我们可以把设备指纹理解为设备的唯一识别码。 构建设备指纹需要采集设备硬件信息、软件信息、环境信息、网络信息等维度信息&#xff0c;进行加密/压缩&#xff0c;再通过算法处理&#xff0c;赋予设备唯…

手机视频提取gif怎么操作?分享这个方法不能错过!

随着网络的发展动态gif表情包已经是人们交流的重要部分了。想要通过手机来实现视频转换gif的操作&#xff0c;还不想下载软件的情况下。可以通过使用手机端的视频转gif工具-GIF中文网&#xff0c;无需下载软件。手机端轻松一键就能在线实现视频提取gif的操作。一起来看看具体的…

【ETAS CP AUTOSAR工具链】RTA-OS基本概念与开发流程

RTA-OS基于早期ETAS操作系统的成熟技术&#xff0c;迄今为止&#xff0c;已在全球超过3.5亿个ECU中使用。RTA-OS是一个可静态配置的抢占式实时操作系统(RTOS)&#xff0c;它常被用于资源受限但有着高性能要求的方案中。内核的实现不仅遵循了AUTOSAR R3.x、R4.0、R4.1、R4.2、R4…

【stomp 实战】spring websocket 接收消息源码分析

后台消息的发送过程&#xff0c;我们通过spring websocket用户消息发送源码分析已经了解了。我们再来分析一下后端接收消息的过程。这个过程和后端发送消息过程有点类似。 前端发送消息 前端发送消息给服务端的示例如下&#xff1a; 发送给目的/app/echo一个消息。 //主动发…

英码科技推出昇腾系列AI加速卡:专为视频解析与模型推理场景打造,更具成本竞争力!

当前&#xff0c;人工智能的发展已进入加速渗透千行百业的阶段&#xff0c;算力已然成为数字化转型关键的新质生产力。随着国际挑战的加剧&#xff0c;国产算力的发展趋势愈发明显&#xff0c;市场需求也呈现出激增的态势。在这一大背景下&#xff0c;华为昇腾以其强大的技术实…

GaussianBody:基于3D高斯散射的服装人体重建

GaussianBody: Clothed Human Reconstruction via 3d Gaussian Splatting GaussianBody&#xff1a;基于3D高斯散射的服装人体重建 Mengtian Li1,2,3, Shengxiang Yao1, Zhifeng Xie1,3,2, Keyu Chen4,2, Yu-Gang Jiang2 李梦田 1,2,3 、姚胜祥 1 、谢志峰 1,3, 2 、陈科宇 4, …

谷歌开源!用 js 编写 Shell 脚本! | 开源日报 No.247

google/zx Stars: 41.4k License: Apache-2.0 zx 是一个用于编写更好脚本的工具。 提供有用的包装器&#xff0c;简化了对 child_process 的操作转义参数并提供合理的默认值使用 JavaScript 编写复杂脚本时比 Bash 更方便可以直接使用 npm 安装 dani-garcia/vaultwarden St…

长难句打卡5.9

For example, the Long Now Foundation has as its flagship project a mechanical clock that is designed to still be marking time thousands of years hence. 例如,今日永存资金会将机械钟表视为旗舰项目,因此该钟表旨在为未来几千年保持计时。 Foundation n.基金会flag…

数据库(MySQL)—— 索引

数据库&#xff08;MySQL&#xff09;—— 索引 什么是索引创建索引使用 CREATE INDEX 语句使用 ALTER TABLE 语句在创建表时定义索引特殊类型索引注意事项 举个例子无索引的情况有索引的情况为什么索引快索引的结构 今天我们来看看MySQL中的索引&#xff1a; 什么是索引 MyS…

unity基础(一)

内容概要&#xff1a; 生命周期函数vector3 位置 方向 缩放旋转等信息Vector3欧拉角和Quaternion四元素unity脚本执行顺序设置 一 生命周期函数 方法说明Awake最早调用,所以一般可以再此实现单例模式OnEnable组件激活后调用,在Awake后会调用一次Start在Update之前调用一次&a…

硬件知识积累 音频插座的了解,看音频插座的原理图来了解音频插座的引脚。

1. 音频接口 音频插座是一种用于连接音频信号线路的电子元件&#xff0c;常见于音频设备&#xff08;如音响、耳机、话筒等&#xff09;中。它的主要作用是将电子信号转化为声音信号&#xff0c;以满足人们对于音乐、电影、游戏等方面的需求。 根据插头形状的不同&#xff0c;音…