添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

第13章数值调整控件(Spinbox)
Spinbox由三部分组成:输入框、上箭头和下箭头。Spinbox控件规定用户只能选取特定范围内的数值。通过点击上下箭头来改变数值。有三种方式改变数值:
(1)点击上箭头
每点击一次,按照设置增加数值。可以设定达到最大值后,再从最小值开始循环。
(2)点击下箭头
每点击一次,按照设置减小数值。可以设定达到最小值后,再从最大值开始循环
(3)直接在输入框中输入数值

13.1 属性

属性参数 描述
activebackground 设置当Spinbox处于ACTIVE状态下的背景颜色
borderwidth
bd
设置边框宽度。默认值是1或2像素
buttonbackground 设置调节箭头的背景颜色
buttoncursor 指定当鼠标在调节箭头上方的鼠标样式
buttondownrelief 指定向下调节箭头的样式
默认值是RAISED
还可以设置为FLAT,SUNKEN,GROOVE和RIDGE
buttonuprelief 指定向上调节箭头的样式
默认值是RAISED
还可以设置为FLAT,SUNKEN,GROOVE和RIDGE
command 指定一个函数,当用户点击调节箭头的时候将自动调用该函数
注意:当用户直接在输入框中输入数据时并不会触发该函数
cursor 指定当鼠标在Spinbox上面的时候鼠标样式。默认值由系统指定
disabledbackground 设置当Spinbox处于DISABLED状态下的背景颜色
disabledforeground 设置当Spinbox处于DISABLED状态下的前景颜色
exportselection 指定选中的文本是否可以被自动复制到剪贴板
默认值是True
可以修改为False表示不会自动复制文本到剪贴板
font 指定Spinbox中文本的字体
默认值由系统指定
foreground
fg
设置前景(文本)颜色
默认值由系统指定
format 使用该选项设置选择数值的样式(from_和to指定范围,用户自行输入的不算)例如使用format='%10.4f’表示显示的数值占10位,小数点后保留4位
from_ 该选项和to选项共同指定一个范围内的数值
highlightbackground 指定当Spinbox没有获得焦点的时候高亮边框的颜色
默认值由系统指定,通常是标准背景颜色
highlightcolor 指定当Spinbox获得焦点的时候高亮边框的颜色
默认值由系统指定
highlightthickness 指定高亮边框的宽度
increment 该选项指定当用户每次点击调节箭头的时候递增递减的精度
例如from_=1, to=10, increment=0.5,那么每次用户点击调节箭头的时候,输入框中的数字递增递减0.5
insertbackground 指定输入光标的颜色
insertborderwidth 指定输入光标的边框高度
如果被设置为非0值,光标样式会被设置为RAISED
提示:将insertborderwidth设置的大一点才能看到效果
insertofftime 该选项控制光标的闪烁频率(灭)。单位是毫秒
insertontime 该选项控制光标的闪烁频率(亮)。单位是毫秒
insertwidth 指定光标的宽度。默认值是1或2像素
invalidcommand
invcmd
指定当输入框的内容“非法”时调用的函数
也就是指定当validateCommand选项指定的函数返回False时的函数
详见Entry组件
justify 定义如何对齐多行文本。使用LEFT,RIGHT或CENTER。默认值是ENTER
readonlybackground 设置当Spinbox处于“readonly”状态下的背景颜色
relief 指定边框样式
默认值是FLAT
另外你还可以设置SUNKEN,RAISED,GROOVE或RIDGE
repeatdelay 该选项指定鼠标左键点击上下箭头并保持,到输入框数值开始连续调整的延迟时间。默认值是300(毫秒)
repeatinterval 该选项指定鼠标左键紧按滚动条凹槽的响应间隔。默认值是100(毫秒)
selectbackground 指定输入框的文本被选中时的背景颜色
默认值由系统指定
selectborderwidth 指定输入框的文本被选中时的边框宽度
selectforeground 指定输入框的文本被选中时的文本颜色
state Spinbox组件可以设置的状态:NORMAL,DISABLED或“readonly”(注意,这个是字符串。它跟DISABLED相似,但他支持选中和拷贝,只是不能修改,而DISABLED是完全禁止)
默认值是NORMAL
注意,如果此选项设置为DISABLED或”readonly”,那么调用insert()和delete()方法都会被忽略
takefocus 指定使用Tab键可以将焦点移动到输入框中
默认是开启的,可以将该选项设置为False避免焦点在此输入框中
textvariable 指定一个与输入框内容相关联的tkinter变量(通常是StringVar)
当输入框的内容发生改变时,该变量的值也会相应发生改变
to 该选项和from_选项共同指定一个范围的数值
increment选项设置每次点击调节箭头递增递减的精度
validate 该选项设置是否启用内容验证
validatecommand
vcmd
该选项指定一个验证函数,用于验证输入框内容是否合法
验证函数需要返回True或False表示验证结果
注意,该选项只有当validate的值非’none’时才有效
values 提供两个方法限定用户输入的内容,一种是通过from_和to选项设置范围,另一种则是将可选值以元组的形式赋给values选项
例如values=(“ds”, “sad”, “aesf”)则允许用户在这四个字符串中选择
width 设置输入框的宽度,以字符为单位
默认值是20。对于变宽字体来说,组件的实际宽度等于字体的平均宽度乘以width选项的值
wrap 默认情况下(False),当输入框中的值是第一个(最后一个)的时候,再点击向上(向下)调节箭头,内容不会改变。
当该选项的值设置为True,则当输入框中的值是第一个(最后一个)的时候,再点击向上(向下)调节箭头,内容将回到最后一个(第一个)。
提示:其实就是开启循环的意思
xscrollcommand 与scrollbar(滚动条)组件相关联
如果你觉得用户输入的内容会超过该组件的输入框宽度,那么可以考虑设置该选项
13.1.1 activebackground
鼠标经过Spinbox的背景颜色。不过无效。
13.1.2 background(bg)
设置Spinbox的背景颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,bg='red')
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.3 borderwidth(bd)
设置Spinbox的边框。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,bd=20)
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.4 buttonbackground
设置上下箭头的背景颜色

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,buttonbackground='blue')
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.5 buttoncursor
设置鼠标位于上下按键上方时,鼠标的形状。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,buttoncursor='spider')
b1.pack()
root.mainloop()

13.1.6 buttondownrelief 和buttonuprelief
设置上下按键的3D效果。不过在我的windows系统中不起作用
13.1.7 command
上下按钮的回调函数。在输入框中的内容发生变化时,不是触发该函数。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
def updown(*args):
    print(b1.get())
b1=tk.Spinbox(root,command=updown,from_=0,to=10)
b1.pack()
root.mainloop()

13.1.8 cursor
鼠标在Spinbox中输入框上面时候的光标形状。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,cursor='spider')
b1.pack()
root.mainloop()

13.1.9 disabledbackground 和disabledforeground
Spinbox的状态为DISABLED状态时候的背景和前景颜色

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,from_=10,to=20,
              disabledforeground='red',
              state=tk.DISABLED,
              disabledbackground ='blue')
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.10 font
指定Spinbox的字体大小。关于字体的详细说明见3.3.3节
13.1.11 foreground(fg)
指定Spinbox的文本和上下箭头颜色。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,from_=10,to=20,fg='red')
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.12 format
格式化Spinbox控件中输入框的内容。比如format=’%4.2f’就表示数字显示长度为4,其中小数部分占2位。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,from_=10,to=20,format='%4.2f')
b1.pack()
root.mainloop()

说明:如果不设置format,正常的显示是没有小数部分的。设置了format,会根据设置的格式显示数值。
13.1.13 highlightbackground,highlightcolor和highlightthickness
设置Spinbox失去输入焦点和获得输入焦点时候的边框,此边框的宽度由highlightthickness设置。参见6.1.10的介绍
13.1.14 increment
定义Spinbox每次调整的步长。比如increment=0.3,表示每次增加或者减少0.3的数值。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,from_=10,to=20,increment='0.3')
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.15 insertbackground
参见6.1.11。
13.1.16 insertborderwidth
参见6.1.12。
13.1.17 insertofftime 和 insertontime
参见6.1.13。
13.1.18 insertwidth
参见6.1.14。

13.1.19 invalidcommand(invcmd)
参见6.1.15。
13.1.20 justify
设定输入框内文本的对齐方式。取值有LEFT, CENTER, RIGHT三种。参见6.1.16。
13.1.21 readonlybackground
当Spinbox为只读模式时,可以通过readonlybackground设置背景值。参见6.1.17。
13.1.22 relief
设置Spinbox的边框3D效果,设置输入控件的边框3D效果,取值范围是:flat、groove、raised、ridge、solid和sunken。详细描述见3.3.5节。
13.1.23 repeatdelay
鼠标点击上下调整箭头并保持,到输入框中的数值开始连续调整之前的延迟时间。默认是300毫秒。具体见12.1.17的说明。
13.1.24 repeatinterval
鼠标按住上下箭头后,输入框中的数值开始连续调整。每次调整的间隔由repeatinterval来设定。默认值是100毫秒。具体用见12.1.18节的说明。
13.1.25 selectbackground
选中文本之后的背景颜色。默认是黑色的。参见6.1.19。
13.1.26 selectborderwidth
选中区域的边框宽度。参见6.1.20。
13.1.27 selectforeground
选中区域的文本的颜色。参见6.1.21
13.1.28 state
Spinbox状态。参见6.1.23。
13.1.29 takefocus
Spinbox获得输入焦点。见前面其他章节的描述
13.1.30 textvariable
主要是关联tkinter的变量,来修改或者获得输入控件的数据。见6.1.25

13.1.31 from_和to
设置Spinbox数值的范围。from_是开始值,to是结束值。还有一种方式是通过values参数来设置。
from_和to的使用方法见前面的代码。
13.1.32 validate
vaidate是定义在何种条件下触发输入验证。参见6.1.26。
13.1.33 validatecommand(vcmd)
Validatecommand是验证输入内容的回调函数。参见6.1.26。
13.1.34 values
设置输入内容范围,可以有两种方法。一种是13.1.31节介绍的使用from_和to的方法。另外一种就是使用values来设定。把输入值设置成一个元组,通过values传递给控件。一般情况下是设置非数字内容。
如果同时使用了from_/to和values,Spinbox会优先使用values中的数值。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,values=('苹果','香蕉','葡萄','西瓜'))
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
13.1.35 width
设置Spinbox的宽度。单位是字符。其实变化的是输入框,而非上下箭头。
13.1.36 wrap
这里的wrap不是折行显示,而是在输入框中数值达到最大或者最小的时候,是否从头或者从尾部循环开始。比如to=50,from_=10,当目前输入框中的数值已经是50的时候,继续点击上箭头,是否会从10循环开始。
默认的情况wrap=False,就是不会循环使用。数值调整到最大或者最小,就会停止调整。如果wrap=True,则会循环调整。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Spinbox(root,from_=10,to=15,wrap=True)
b1.pack()
root.mainloop()

13.1.37 xscrollcommand
设置滚动条来显示过长的内容。一般情况下,Spinbox不会出现内容很长的数值。具体的用法见6.1.28

tkinter-tabview ttk中虽然添加了Notebook,但其功能过于简单,无法支持双击创建选项卡,删除选项卡等功能,于是自定义了tabview,有需要的朋友,可以参考在tkinter中自定义view的方法,自定义自己的view import tkinter as tk from tkinter import messagebox from tabview import TabView def create_body(): global body return tk.Label(body, text="this is body") def select(index): print("current selected -->", index) def remove(index): print("remove tab -->", index)
SpinBox用于整数的显示与输入,一般显示为十进制,也可以显示二进制和十六进制的数,而且可以在显示框增加前缀和后缀 QDoubleSpinBox用于浮点数的显示和输入,可以设置显示小数位数,也可以设置显示的前缀和后缀 它们都是QAbstractSpinBox的子类,具有大多数相同的属性,只是参数类型不同。在UI设计器中进行页面设计时,就可以设置这些属性。 QSpinBox和QDoubleS...
spinbox相当于entry的扩展,除了直接在spinbox中编辑或修改其值外,还可以通过上、下按钮来升序或降序地选择其值。 创建一个空的spinbox from tkinter import Tk,Spinbox,StringVar,Button main_win = Tk() main_win.title('渔道的Spinbox控件') width = 300 height = 300 main_win.geometry(f'{width}x{height}') # 创建spinbox
目录一、前言二、创建Spinbox三、运行四、结语 Spinbox组件(Tk8.4新增)是Entry组件的变体,用于从一些固定的值中选取一个,Spinbox组件跟Entry组件用法类似,区别是Spinbox可以通过范围或者元组指定允许用户输入的内容。 二、创建Spinbox 代码实现: from tkinter import * def callback(): print...
Spinbox小部件是一个标准的Tkinter的Entry小窗口部件的变体,它可以用来选择一个固定的值. 当用户只需要从极少的数值中进行选择的时候,就可以使用Spinbox取代Entry。 这里是一个简单的语法来创建这个widget: w = Spinbox( master, option, ... ) master:这代表了父窗口. int main(int argc, char *argv[]) QApplication app(argc, argv); //创建QApplication对象app管理应用程序 QWidget *w
python3-tkinter-3.6.8-18.el7.x86_64.rpm是用于CentOS 7操作系统的Python Tkinter模块的一个软件包。 TkinterPython语言的一个图形用户界面(GUI)库,用于创建各种桌面应用程序的图形界面。它是Python标准库的一部分,无需额外安装。 对于CentOS 7用户,如果需要使用Python中的Tkinter模块,可以通过安装python3-tkinter-3.6.8-18.el7.x86_64.rpm软件包来获取。该软件包提供了Python 3.x版本的Tkinter模块,并适用于64位CentOS 7操作系统。 要安装该软件包,首先需要下载对应的rpm文件。然后,可以使用yum工具来进行安装。打开终端,并以管理员身份运行以下命令: sudo yum install python3-tkinter-3.6.8-18.el7.x86_64.rpm 该命令将自动处理软件包的安装和依赖关系。安装完成后,即可在Python中使用Tkinter模块进行图形界面应用程序的开发。 总之,python3-tkinter-3.6.8-18.el7.x86_64.rpm是用于CentOS 7操作系统的Python Tkinter模块的一个软件包,通过安装该软件包可以在Python中使用Tkinter库来创建图形界面应用程序。
用三目运算符概括,它=thresh ,A=当前灰度值, BINARY: A>它 ? maxval : 0 TRUNC : A>它 ? 它 : A TOZERO: A>它 ? A : 0 Python 去除白色背景 MSUNC: 自然语言处理 - LSA hxyyyyasd: 你那个应该是词-文档矩阵吧,共现矩阵是对称的啊哥