python tkinter Tix.Control使用

Tix(Tk接口扩展)模块提供了标准Tk库缺失的一组常用额外的小部件。Tix模块的Control小部件也被称为SpinBox窗口小部件,它由用来显示提示信息的一个Label组件,一个用来输入数据的Entry组件和两个的上下箭头小按钮组成,用户可以通过按两个箭头按钮调整数值或用键盘直接输入数值。用两个箭头按钮修改数据值可根据用户定义的上限和下限进行检查,用键盘直接输入数据可用属性validatecmd指定函数检查用键盘输入数据是否正确。本文尽量介绍各种属性用法,但有些属性虽然不出错,但不知为什么不能达到所希望的效果,例如width和height不能改变宽和高,属性integer不能阻止用键盘输入字符,属性labelSide在官方文件介绍是改变提示字符位置,可在左、右、上和下方,但运行前语法检查说labelsid无定义。下边例子介绍了Tix.Control的基本用法。

import tkinter.tix as Tix                    #导入Tkinter.tix
from tkinter.constants import *              #导入常量
def getDat():
    #label['text']=control.cget('value')      #也可用此语句
    label['text']=control['value']
def checkValue(value):              #value是当前输入值,检查是否输入整数,是否大于max小于min
    s=''.join(i for i in value if i in '0123456789')        #去掉输入的非数字
    a=int(s)
    if a>20:
        a=20
    elif a<1:
        a=1
    return str(a)                                  #Tix.Control的数值将被修改为该函数的返回值
root = Tix.Tk()                                    #注意此句
root.title('tkinter Tix.Control使用')               #设置窗口标题
root.geometry('400x300+200+200')
root.resizable(width=False,height=False)    #设置窗口是否可变,宽不可变,高不可变,默认为True
label=Tix.Label(root)
label.pack(side=LEFT)     #下句validatecmd指定用键盘输入字符按回车后调用的函数名,当前值为参数
control=Tix.Control(root,value=10, max=20,min=1,step=2,label='小时',validatecmd=checkValue,
            width=10,height=2,integer=True)             #,labelSide=RIGHT  state=DISABLED
control.pack(side=TOP)
button=Tix.Button(root,text='取出数据',command=getDat).pack(side=BOTTOM)
root.mainloop()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值