2.1Label Button 标签和按钮

news2024/11/29 2:42:18

2.1Label & Button 标签和按钮

窗口主体框架
每一个 tkinter 应用的主体框架都可以包含下面这部分. 定义 window 窗口 和 window的一些属性, 然后书写窗口内容, 最后执行window.mainloop让窗口活起来.

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('200x100')

# 这里是窗口的内容

window.mainloop()

窗口内容
这次我们会建立一个用来描述的标签 tk.Label, 比如:

l = tk.Label(window, 
    text='OMG! this is TK!',    # 标签的文字
    bg='green',     # 背景颜色
    font=('Arial', 12),     # 字体和字体大小
    width=15, height=2  # 标签长宽
    )
l.pack()    # 固定窗口位置

在这里插入图片描述

我们也可以通过变量的形式控制标签的显示, 这时我们引入按钮 tk.Button 的概念, 没点一次按钮, 标签变化一次. 用一下内容替换上面的标签. 并把需要变化的文字存成变量 var:

var = tk.StringVar()    # 这时文字变量储存器
l = tk.Label(window, 
    textvariable=var,   # 使用 textvariable 替换 text, 因为这个可以变化
    bg='green', font=('Arial', 12), width=15, height=2)
l.pack() 

接着我们来做 按钮 tk.Button:

b = tk.Button(window, 
    text='hit me',      # 显示在按钮上的文字
    width=15, height=2, 
    command=hit_me)     # 点击按钮式执行的命令
b.pack()    # 按钮位置

那么点击是的命令我们用 if else 语句来判断. 用 on_hit 来判断当前状态.

没有点击时:
在这里插入图片描述

点击第一次:
在这里插入图片描述

点击第二次:
在这里插入图片描述

代码实现

import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('200x100')

var = tk.StringVar()
l = tk.Label(window, textvariable=var, bg='green', font=('Arial', 12), width=15,
             height=2)
#l = tk.Label(window, text='OMG! this is TK!', bg='green', font=('Arial', 12), width=15, height=2)
l.pack()

on_hit = False
def hit_me():
    global on_hit
    if on_hit == False:
        on_hit = True
        var.set('you hit me')
    else:
        on_hit = False
        var.set('')

b = tk.Button(window, text='hit me', width=15,
              height=2, command=hit_me)
b.pack()


window.mainloop()

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

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

相关文章

【C语言高阶篇】成为编程高手必学内容,程序中的动态内存分配我不允许还有人不会!

🎬 鸽芷咕:个人主页 🔥 个人专栏:《快速入门C语言》《C语言高阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言💬 为什么存在动态内存分配💬 动态内存函数的介绍1️⃣ 动态内存函数 malloc&#…

西门子PLC上位机测试

上一篇我们讲了三菱PLC的数据通信方法,今天我们讲讲另外一个PLC巨头--西门子。 西门子有很多系列,今天讲到的是用S7协议的S71200。西门子同样提供了丰富的集成库,例如S7.NET,对于C#上位机开发,是非常容易的事情。 首…

API开发,机器人api二次开发

由于自身在机器人方面滚爬多年,尝试了很多次,选择了一个信任的工具 可以给有需要的朋友们借鉴一下 开发起来很方便,技术也已经挺成熟的了 贴一点简单的给大家看下呢 测试文档:https://www.wkteam.cn/ 简要描述: …

10.Ceph接口使用

文章目录 Ceph接口使用CephFS文件系统服务端添加mds服务创建存储池授权用户权限 客户端前期准备客户端挂载方式一:基于内核方式二:基于 fuse 工具 Ceph 块存储系统 RBD 接口服务端创建存储池和镜像管理镜像 客户端镜像挂载快照管理快照分层快照展平镜像的…

Ubuntu20.04升级到Ubuntu 22.04

升级Ubuntu到最新版本 执行如下命令将Ubuntu升级到最新的版本: $ sudo apt update && sudo apt upgrade -y升级完成后,重启系统 reboot重启成功之后,查看系统的当前版本 $ lsb_release -a最新版本应该是20.04.6,如下图…

JTS-Orientation方向计算

org.locationtech.jts.algorithm.Orientation 使用说明 用于计算基本几何结构(包括点三重体(三角形)和环)的方向的函数。方向是平面几何的基本属性。 Orientation.index(Coordinate p1, Coordinate p2, Coordinate q) 说明 计算q点处在p1点->p2点方向的左侧还是右侧,左侧…

9. selenium API 【万字】

目录 1. 元素的定位 1.1 css selector 1.1.1 id 选择器 1.1.2 类选择器 1.1.3 标签选择器 1.1.4 后代选择器 1.2 xpath 1.2.1 相对路径 索引 1.2.2 相对路径 元素 1.2.3 相对路径 通配符 1.2.4 相对路径 部分元素定位 1.2.5 相对路径 文本定位 1.3 应用&…

gazebo软件建立带摄像和红外功能的小车

背景: 为了方便调整摄像头的高度,我需要重新构建以下带小车的模型。小白分享来了。 目录 1. 先构建一个能跑的小车。 1.1 gazebo设计四个物体:车体三个车轮。组合然后构建好后在本地保存成小车模型。 1.2 打开本地文件添加plugin插件&…

转行软件测试成功的关键因素是什么?

三年前张伟是一名厨师,职高毕业,团队一共有5个人,大家各自负责自己的模块,整体上感觉相差不大,特别的团结稳定。 可是后来随着疫情的发生,对整个社会都产生了严重的冲击,饭店每天的订单是越来越少&#xf…

Spark 4:Spark Core 共享变量

广播变量 # coding:utf8 import timefrom pyspark import SparkConf, SparkContext from pyspark.storagelevel import StorageLevelif __name__ __main__:conf SparkConf().setAppName("test").setMaster("local[*]")sc SparkContext(confconf)stu_inf…

设计模式day03

01gradle极速安装与配置入门 下载6.8.2版本,配置环境变量 配置镜像仓库 给gradle安装目录下init.d文件夹,放一个init.gradle文件,内容如下: gradle.projectsLoaded {rootProject.allprojects {buildscript {repositories {def JCENTER_URL…

go语言计算推算心率算法 http服务

目的 为了计算心率和并且将心率计算作为http服务来运行 几种计算方法 1 基本数据 a) hrv heart rate variability b) 呼吸 2 傅里叶变换 计算频率 高频和低频 3 隐形马尔科夫 模型 hmm 重在于推测概率 根据最近的心率计算 4 神经网络计算 基本计算 …

APP外包开发原生和H5的对比

在开发APP的技术中,除了原生开发外也可以使用H5框架来开发。原生开发的特点是质量高,用户体验更好,但成本高,适用于对质量要求高的APP项目。H5框架的特点是通用性较强,对开发人员的要求相对较低,成本也低&a…

23款奔驰GLE350轿跑加装前排原厂座椅通风系统,夏天必备的功能

通风座椅的主动通风功能可以迅速将座椅表面温度降至适宜程度,从而确保最佳座椅舒适性。该功能启用后,车内空气透过打孔皮饰座套被吸入座椅内部,持续时间为 8 分钟。然后,风扇会自动改变旋转方向,将更凉爽的环境空气从座…

怎么批量查询快递单号的物流状态并导出查询数据

随着互联网技术的不断发展,电商行业想做大做强,售后环节一定要做到位。想要做好售后服务,需要借助一些技巧与手段。今天小编给大家安利一款软件:“固乔快递查询助手”,这是一款可以批量查询快递信息的软件,…

python_PyQt5开发股票日数据更新工具

写在前面: 该工具更新的股票日数据来自优矿,为了把股票日数据在本地存储一份,这就面临需要定期更新的需求,为此开发了这个工具。 定期更新的股票日数据特征: 1 旧股票日数据(也就是上次更新的数据&#…

【机器学习】吴恩达课程2-单变量线性回归

一、单变量线性回归 1. 模型描述 监督学习的流程 & 单变量线性回归函数 代价函数:,其中 m 表示训练样本的数量 公式为预测值与实际值的差,平方为最小二乘法和最佳平方/函数逼近。 目标:最小化代价函数,即 2. 只…

PR模板-33组故障干扰文字标题动画 Motion Glitch Typography

Motion Glitch Typography包含33组故障干扰文字标题动画pr模板。不需要任何插件或脚本,只需点击几下,您的视频就有很酷的故障标题动画,适用于预告片、宣传片或任何类型的视频。 适用软件:Premiere Pro 2020 或更高版本 分辨率&a…

Go语言之函数补充defer语句,递归函数,章节练习

defer语句是go语言提供的一种用于注册延迟调用的机制,是go语言中一种很有用的特性。 defer语句注册了一个函数调用,这个调用会延迟到defer语句所在的函数执行完毕后执行,所谓执行完毕是指该函数执行了return语句、函数体已执行完最后一条语句…

密码学学习笔记(十四):SHA-3 Sponge Construction - 海绵结构

SHA-3算法满足了哈希函数的三个安全属性,并且和SHA-2的变体达到同样级别的安全性。此外,SHA-3算法不容易受到长度扩展攻击,并可用于计算秘密消息的哈希值。 SHA-3是一种建立在Permutation(置换)之上的密码算法。 置换就是假设有两个数组a和…