Button窗口部件

ops/2024/9/22 20:40:45/
# 2. Button窗口部件
# 简单说明:
# Button(按钮)部件是一个标准的Tkinter窗口部件,用来实现各种按钮。按钮能够包含文本或图象,
# 并且你能够将按钮与一个Python函数或方法相关联。当这个按钮被按下时,Tkinter自动调用相关联的函数或方法。
# 按钮仅能显示一种字体,但是这个文本可以跨行。另外,这个文本中的一个字母可以有下划线,例如标明一个快捷键。默认情况,Tab键用于将焦点移动到一个按钮部件。
# 什么时候用按钮部件
# 简言之,按钮部件用来让用户说“马上给我执行这个任务”,通常我们用显示在按钮上的文本或图象来提示。
# 按钮通常用在工具条中或应用程序窗口中,并且用来接收或忽略输入在对话框中的数据。关于按钮和输入的数据的配合,可以参看Checkbutton和Radiobutton部件。# 什么时候用按钮部件
# 简言之,按钮部件用来让用户说“马上给我执行这个任务”,
# 通常我们用显示在按钮上的文本或图象来提示。按钮通常用在工具条中或应用程序窗口中,
# 并且用来接收或忽略输入在对话框中的数据。关于按钮和输入的数据的配合,可以参看Checkbutton和Radiobutton部件。#Tkinter中的按钮大小通常是以字符宽度和高度来衡量的,而不是以像素为单位。这意味着width和height属性表示的是文本单元的数量,
# 而不是实际的像素数。需要精确的像素尺寸使用其他技巧,例如嵌套Label小部件或其他布局管理器r=0
import random
import tkinter as tk
# 创建窗口
root = tk.Tk()
root.geometry("600x400+300+300")def command0():root.update()global rr=r+1my_list = ['yellow', 'red', 'pink','blue','purple','green','brown','orange']#bloned金黄色,b.config(activebackground=random.choice(my_list) )#当鼠标放在按钮上时,按钮的背景颜色print(r'你已经点击了',r,'次')# 使用按钮控件调用函数
b = tk.Button(root,text="点击变换窗口颜色\n变换后颜色固定",anchor='center',#文本在小部件的位置(这里是中间),没有放在控件里的话默认放在窗口中上方activeforeground='blue',#当鼠标放在按钮上时,按钮的前景色(实际是文本的颜色)activebackground='#F5F5DC',bd='5',#边框宽度5pxhighlightcolor='black',#属性设置当按钮获得焦点时的高亮颜色。当鼠标悬停在按钮上时,按钮周围会出现一个高亮边框highlightbackground='red',#当鼠标放在按钮上时,按钮的前景色(实际是文本的颜色)bg='green',#没有点击按钮是的背景色command=command0, #-用来执行按钮关联的回调函数。当按钮被点击时,执行该函数。fg='white',# 文本的颜色font=('Arial', 10, 'bold'),#按钮的字体样式height='15',#按钮的总高度width='20',#这里的width='80'意味着按钮的宽度将能够容纳大约80个标准字符的宽度padx='40',#按钮内的文本与左右边界的水平间距为 40 像素pady='20',#按钮内的文本与上下边界的垂直间距为 20 像素state='normal'#设置按钮的可用状态)
b.config(relief='raised')#每个属性都可以按照这个单独设置## 'raised':控件看起来像是从背景中凸起
b.pack(pady=20)
# 显示窗口
root.mainloop()# text - 按钮控件要显示的文本
# text=""     设置按钮上的文本。
# font=('Arial', 14)     设置字体为 Arial,字号为 14。
# fg='red'   设置文本颜色为红色。# anchor - 控制文本所在的位置,默认为中心位置(CENTER)。可以设置为 'n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center' 或 'c'。
# n - 北方(顶部),文本将定位在小部件的顶部中心。
# ne - 东北角(顶部右侧),文本将定位在小部件的右上角。
# e - 东方(右侧),文本将定位在小部件的右侧中心。
# se - 东南角(底部右侧),文本将定位在小部件的右下角。
# s - 南方(底部),文本将定位在小部件的底部中心。
# sw - 西南角(底部左侧),文本将定位在小部件的左下角。
# w - 西方(左侧),文本将定位在小部件的左侧中心。
# nw - 西北角(顶部左侧),文本将定位在小部件的左上角。
# center 或 c - 中心,文本将居中小部件的中央。# activebackground - 当鼠标放在按钮上时,按钮的背景颜色。
# activeforeground - 当鼠标放在按钮上时,按钮的前景色。# bd - 按钮边框的大小,默认为 2 个像素。
#边框颜色
# highlightcolor: 设置当鼠标悬停在按钮上时边框的颜色。
# highlightbackground: 设置当鼠标不在按钮上时边框的颜色# bg - 按钮的背景色。
# command - 用来执行按钮关联的回调函数。当按钮被点击时,执行该函数。
# fg - 按钮的前景色(通常是文本颜色)。
# font - 按钮文本的字体样式。可以是一个字体元组,例如 ('Arial', 14, 'bold')
# 'bold' 是一个可选的修饰符,表示字体加粗。除了'bold'之外,
# 还可以使用'normal'表示不加粗,也可以结合其他修饰符如'italic'(斜体)等一起使用,
# 例如('Arial', 14, 'bold italic')表示加粗斜体# height - 按钮的高度。
#height 属性指的是按钮的高度,它是指按钮的总高度,包括按钮上的文本、图像以及按钮本身的边框和填充等。这个高度是以字符高度为单位的,而不是像素
# width这里的width=''意味着按钮的宽度将能够容纳大约  个标准字符的宽度# highlightcolor - 按钮控件高亮处要显示的颜色。
# highlightcolor: 设置为 'red',这意味着当鼠标悬停在按钮上时,边框颜色变为红色。
# highlightbackground: 设置为 'black',这意味着当鼠标不在按钮上时,边框颜色为黑色
# highlightcolor 主要是在控件获得键盘焦点时生效,例如通过Tab键导航到按钮时# image - 按钮上要显示的图片。需要使用 tk.PhotoImage 加载图片。
# img = PhotoImage(file="path/to/example.png")
# b = tk.Button(image=img)#但是不支持做按钮的背景# relief 的可用选项
# 'raised':控件看起来像是从背景中凸起。
# 'sunken':控件看起来像是嵌入到背景中。
# 'flat':控件看起来没有边框,与背景平齐。
# 'groove':控件看起来像是有一个浅槽环绕。
# 'ridge':控件看起来像是有一个小脊环绕。#焦点
#焦点”是指当前可以接收用户输入的控件或窗口。当一个控件拥有焦点时,它通常可以接收键盘输入,并且某些控件还可能响应特定的键盘快捷键。
# def set_focus_to_button():给按钮或者控件获取焦点
# button.focus_set()
# 当点击按钮时,按钮已经获得了焦点,所以再次调用 focus_set() 方法实际上并没有改变焦点状态。# justify - 按钮显示多行文本时,用来指定文本的对齐方式。可以设置为 'left', 'center', 或 'right'。
# LEFT - 文本将左对齐。
# CENTER - 文本将居中对齐。
# RIGHT - 文本将右对齐。# padx 和 pady - 分别指定了 x 轴(水平方向)和 y 轴(垂直方向)的间距大小。
#padx 和 pady 属性用于设置小部件内部文本与小部件边界之间的额外空间。它们分别指定了 x 轴(水平方向)和 y 轴(垂直方向)上的额外空间大小。
# padx - 水平方向上的额外空间。它增加了文本与小部件左右边界的距离。
# pady - 垂直方向上的额外空间。它增加了文本与小部件上下边界的距离# ipadx 和 ipady - 分别指定了标签文字与标签容器之间的横向和纵向距离。这些属性不适用于 Button,而是适用于 Label。
#就是按钮文字和标签容器之间的距离#位图(Bitmap)
# 是一种图像格式,它由一系列像素组成,每个像素都有自己的颜色信息
# 。位图图像通常用于表示图标、按钮图像、徽标等小型图形元素。
# 位图图像的特点是它们的分辨率依赖于像素数量,这意味着放大位图图像时可能会出现失真或像素化
#error: 表示错误或警告的图像。
# gray12, gray25, gray50, gray75: 不同灰度级别的图像。
# hourglass: 通常用于表示等待状态的沙漏图像。
# info: 提供信息的图像。
# questhead: 询问或提示的图像。
# question: 类似于 info 的图像,但通常用于表示问题或查询。
# warning: 表示警告的图像# state - 设置按钮的可用状态,可选参数有 'normal', 'active', 和 'disabled',默认为 'normal'。
#NORMAL - 正常状态,按钮可以被点击。这是默认状态。
# disabled - 禁用状态,按钮不可点击。在这种状态下,按钮通常会显示为灰色或其他表明禁用状态的样式。
# active - 当鼠标位于按钮上时的状态。虽然这个值可以被设置,但在实际使用中,它通常由Tkinter自动管理。
# 您通常不需要手动设置这个状态,因为它是由Tkinter根据用户交互自动切换的。

http://www.ppmy.cn/ops/97628.html

相关文章

【Docker】gitea的ssh容器直通

本文首发于 ❄️慕雪的寒舍 1.跟着文档走 gitea的安装比较简单,直接使用官方文档中的docker-compose文件即可。如果想实现ssh容器直通,需要对这个docker-compose文件做一定修改。 如果你还没有安装docker,参考本站教程 linux安装docker&…

水库大坝安全监测:筑起水坝安全防线

水库大坝安全监测集成了多种传感器、数据采集、传输和处理技术等技术手段,通过在坝体、库区等关键位置设立传感器,来实现水库大坝实时监测的水平位移、垂直位移,这样能够及时发现潜在的安全隐患和异常情况,以便于大坝管理人员能够…

Vue3 目录结构 3

Vue 3 项目的目录结构可以根据需要进行调整,但是下面是一个基本的目录结构: my-vue3-app/ app/ components/ HelloWorld.vue ... views/ Home.vue ... App.vue main.js public/ index.html ... src/ api/ ... assets/ ... computed/ ... methods/ ... m…

【esp32程序编译提示undefined reference to ‘xxxx‘】

案例1: 【背景】 在使用SquareLine Studio设计UI时,成功导出UI代码,在编译代码的时候提示undefined reference to ‘ui_img_1869164015’,有一个变量无法识别,没有定义。 【定位步骤】 1.首先找到用这个变量的.c文件…

什么是生信分析?深入探讨生物信息学的技术、方法与广泛应用

介绍 生物信息学分析,简称生信分析,是一个结合了生物学、计算机科学、信息学和统计学的多学科领域,旨在处理、分析和解释海量的生物数据。随着现代生物技术的发展,尤其是高通量测序(Next-Generation Sequencing, NGS&…

RM双轴云台控制

RM机器人上最复杂的控制计构就是双轴云台了,赛场上的情况对双轴云台的控制稳定度与响应灵敏度双方面都提出了很高的要求,云台控制的好坏在一定程度上就能够代表一支队伍的实力。 双轴云台采用的控制算法依然是PID控制算法,关于PID控制算法的…

数据结构——顺序栈和链式栈

目录 引言 栈的定义 栈的分类 栈的功能 栈的声明 1.顺序栈 2.链式栈 栈的功能实现 1.栈的初始化 (1)顺序栈 (2)链式栈 (3)复杂度分析 2.判断栈是否为空 (1)顺序栈 (2)链式栈 (3)复杂度分析 3.返回栈顶元素 (1)顺序栈 (2)链式栈 (3)复杂度分析 4.返回栈的大…

AI + 3D 机器人视觉领域综合资源库

随着人工智能技术的不断发展,3D 机器人视觉领域已经成为了一个备受关注的研究方向。在这个领域中,研究者们致力于探索如何让机器人更好地理解三维空间,从而实现更加智能和灵活的操作。为了方便大家学习和研究,这里介绍一个全面的资源库——Awesome Robotics 3D,它汇集了最…