python tkinter窗口组件 Radiobutton和Scale

tkinter窗口组件RadioButton

import tkinter

# 主窗口的类,使用root接收一下
root = tkinter.Tk()
# 标题
root.title("My table")
# 像素
width, height = 300, 500
# 获得屏幕的最大尺寸
width_max, height_max = root.maxsize()
# 使页面显示在屏幕正中间
s_center = '%dx%d+%d+%d' % (width, height, (width_max - width) / 2, (height_max - height) / 2)
print(s_center)
# 设置屏幕大小
root.geometry(s_center)
# 如果是true代表可以拉伸 false 不可拉伸
root.resizable(width=True, height=True)

# 怎么设置RadioButton
var1 = tkinter.StringVar()
var1.set('小明')
tkinter.Radiobutton(root, textvariable=var1, value=1).pack(anchor=tkinter.W)
# 演示值相同效果

tkinter.Radiobutton(root, text='小华', value=0).pack(anchor=tkinter.W)
tkinter.Radiobutton(root, text='小敏', value=2).pack(anchor=tkinter.W)

# 多选一 按钮
# 其中value 值必须每个设定不一致,如果设置出现一致的,那么按钮选中这个值的时候会把这个value一致的选项也选中
# varible因为是多选一,所以他们共享一个文本变量,通过下面按钮选项可以查看他们的选中状态
var = tkinter.IntVar()
names = [(1, 'C语言'), (2, 'Python'), (3, 'C++'), (4, 'C#'), (5, 'JAVA')]
# variable 选中的时候通过这个变量获取选中的值
[tkinter.Radiobutton(root, text=name, variable=var, value=index).pack(anchor=tkinter.W) for index, name in names]


def fun():
    print("你选中的值为:", var.get())


b1 = tkinter.Button(root, text='打印选中项', command=fun)
b1.pack()
root.mainloop()

Scale组件

import tkinter

# 主窗口的类,使用root接收一下
root = tkinter.Tk()
# 标题
root.title("My table")
# 像素
width, height = 300, 500
# 获得屏幕的最大尺寸
width_max, height_max = root.maxsize()
# 使页面显示在屏幕正中间
s_center = '%dx%d+%d+%d' % (width, height, (width_max - width) / 2, (height_max - height) / 2)
print(s_center)
# 设置屏幕大小
root.geometry(s_center)
# 如果是true代表可以拉伸 false 不可拉伸
root.resizable(width=True, height=True)

# 刻度组件
# 默认的刻度组件没有长度的显示
tkinter.Scale(root).pack()
# 代表横向摆放的刻度
orient = tkinter.HORIZONTAL
tkinter.Scale(root, orient=tkinter.HORIZONTAL).pack()

# length = 400,代表多少像素的长度
# from_:起始值 to:结束值 默认精度是1
# tickinterval会显示下面刻度间隔的数字默认显示刻度是按照间隔1
# label就是在刻度上显示一个文本
# showvalue 默认True:显示滑动的时候刻度,如果设置False在滑动的时候将不显示当前的刻度
# resolution=0.2表示拉一次走0.2
tkinter.Scale(root, label='刻度名称', from_=1, to=20, tickinterval=2, length=400,
              showvalue=False, orient=tkinter.HORIZONTAL).pack()

tkinter.Scale(root, label='刻度名称', from_=1, to=20, tickinterval=2, length=400,
              showvalue=True, resolution=0.2, orient=tkinter.HORIZONTAL).pack()


def fun(num):
    var.set('当前刻度:' + num)


# 代表的是精度,如果设置0.1那么所有int数值的显示都会变成float对应精度的小数,每个移动的距离也变成了这个精度值
# resolution = 0.1
s = tkinter.Scale(root, label='我是一个刻度', orient=tkinter.HORIZONTAL, length=200,
                  showvalue=True, resolution=0.1, tickinterval=2, from_=1, to=10,
                  command=fun)
s.pack()

var = tkinter.StringVar()
var.set('I chose was' + str(s.get()))
tkinter.Label(root, textvariable=var, bg='yellow', width=16, font=('宋体', 16)).pack()


def set_func():
    s.set(6)


tkinter.Button(root, text='设置刻度滑动的位置', command=set_func).pack()
root.mainloop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lanlnan抱抱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值