本文转载自:http://blog.csdn.net/jcodeer/article/details/1811313

'''Tkinter教程之Scale篇'''
#Scale为输出限定范围的数字区间,可以为之指定最大值,最小值及步距值
'''1.创建一个Scale'''
from Tkinter import *
root = Tk()
Scale(root).pack()
root.mainloop()
#创建一个垂直Scale,最大值为100,最小值为0,步距值为1。这个参数设置也就是Scale的缺省设置了。
'''2.改变这三个参数,生成 一个水平Scale,最小值为-500,最大值为500,步距值为5'''
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
Scale(root,
      from_ = -500,         #设置最大值
      to = 500,             #设置最小值
      resolution = 5,       #设置步距值
      orient = HORIZONTAL   #设置水平方向
      ).pack()
root.mainloop()
#注意from_的使用方式,在其后添加了"_",避免与关键字from的冲突

'''3.Scale绑定变量'''
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
v = StringVar()
Scale(root,
      from_ = 0,         #设置最小值
      to = 100.0,             #设置最大值
      resolution = 0.0001,       #设置步距值
      orient = HORIZONTAL,  #设置水平方向
      variable = v          #绑定变量
      ).pack()
print v.get()
root.mainloop()
#v的值与Scale的值一致
'''4.使用回调函数打印当前的值'''
# -*- coding: cp936 -*-
from Tkinter import *

root = Tk()
def printScale(text):
    print 'text = ',text
    print 'v = ',v.get()
v = StringVar()
Scale(root,
      from_ = 0,                #设置最小值
      to = 100.0,               #设置最大值
      resolution = 0.0001,      #设置步距值
      orient = HORIZONTAL,      #设置水平方向
      variable = v,             #绑定变量
      command = printScale      #设置回调函数
      ).pack()
print v.get()
root.mainloop()
#这个回调函数有一个参数,这个值是当前的Scale的值,每移动一个步距就会调用一次这个函数,只保证最后一个肯定会调用,中间的有
#可能不会调用,通过上例可以看到二者的值是完全一样的。

'''5.控制显示位数,可以理解为:Scale的值为一整形,在输出显示时,它将会被转化为一字符串,如1.2转化为1.2或1.2000都是可以的'''
#属性digits是控制显示的数字位数,将上面的例子中的数据以8位形式显示,在最后一位会添加一个0
# -*- coding: cp936 -*-
from Tkinter import *

root = Tk()
def printScale(text):
    print 'text = ',text
    print 'v = ',v.get()
v = StringVar()
Scale(root,
      from_ = 0,                #设置最小值
      to = 100.0,               #设置最大值
      resolution = 0.0001,      #设置步距值
      orient = HORIZONTAL,      #设置水平方向
      digits = 8,               #设置显示的位数为8
      variable = v,             #绑定变量
      command = printScale      #设置回调函数
      ).pack()
print v.get()
root.mainloop()


'''6.设置Scale的标签属性label'''
# -*- coding: cp936 -*-
from Tkinter import *

root = Tk()
Scale(root,
      from_ = 0,                #设置最大值
      to = 100.0,               #设置最小值
      orient = HORIZONTAL,      #设置水平方向
      label = 'choice:',        #设置标签值
      ).pack()
root.mainloop()
#由label设置的值会显示在水平Scale的上方,用于提示信息

'''7.设置/取得Scale的值'''
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
sl = Scale(root)
sl.set(50)      #将Scale的值设置为50
print sl.get()  #打印当前的Scale的值
sl.pack()
root.mainloop()
#slider的位置位于了中间,sl.set(50)起作用了,打印值为50。

Tkinter教程之Scale篇的更多相关文章

  1. Tkinter教程之Canvas篇(3)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1811922 ''Tkinter教程之Canvas篇(3)''''''16.移动item'''# ...

  2. Tkinter教程之Canvas篇(2)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1811888 '''Tkinter教程之Canvas篇(2)''''''9.创建item的tag ...

  3. Tkinter教程之Event篇(3)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1823550 '''Tkinter教程之Event篇(3)''''''11.两个事件同时绑定到一 ...

  4. Tkinter教程之Event篇(2)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1823548 '''Tkinter教程之Event篇(2)''''''5.测试离开(Leave) ...

  5. Tkinter教程之Event篇(1)'

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1823544 ''Tkinter教程之Event篇(1)'''# 事件的使用方法'''1.测试鼠 ...

  6. Tkinter教程之Grid篇

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1813196 '''Tkinter教程之Grid篇'''# Tkinter参考中最推荐使用的一个 ...

  7. Tkinter教程之Pack篇

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1813077 '''Tkinter教程之Pack篇'''#Pack为一布局管理器,可将它视为一个 ...

  8. Tkinter教程之Canvas篇(4)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1812091 '''Tkinter教程之Canvas篇(4)''''''22.绘制弧形'''#  ...

  9. Tkinter教程之Canvas篇(1)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1811803 '''Tkinter教程之Canvas篇(1)'''# 提供可以用来进行绘图的Co ...

随机推荐

  1. VA对于开发QT是神器

    我怎么就忘了,VA也可以适用于VS下开发QT程序.其中QT的头文件自己增加,主要是: C:\Qt\4.8.6_2008\include 但还有一些特殊类不认识,所以还得继续增加: C:\Qt\4.8. ...

  2. 每用户订阅上的所有者 SID 不存在 (异常来自 HRESULT:0x80040207)

    出现这个问题是因为pQueryFilter.WhereClause = "RoomNumber=" +cmbFromPoint.SelectedItem;中的cmbFromPoin ...

  3. Socket programming in C on Linux | tutorial

    TCP/IP socket programming This is a quick guide/tutorial to learning socket programming in C languag ...

  4. Java实现-------网络蜘蛛

    闲来无事,学习了一下网络蜘蛛的简易原理.是最简单的一种,一般新手都可以看得懂哦~~读者可以将其进行扩展,可以实现用来抓取网页js或者css等等哦... package com.insist.entit ...

  5. bat拷贝文件

    最近在部署服务器的时候,需要用到把一个站点文件拷贝到其他站点.一个一个手动copy太累人了,写了个简单的批处理文件,基本能达到目的,具体怎么做呢: 1.把需要拷贝到各个站点的文件,单独放到一个目录下. ...

  6. 【C#设计模式——创建型模式】抽象工厂模式

    抽象工厂模式比工厂模式具有更高层次的抽象性.当要返回一系列相关类中的某一个,而每个类都能根据需要返回不同的对象时,可以选择这种模式.直接进入示例. 示例描述:完成花园的规划,多种花园种类,每个里面多种 ...

  7. BZOJ 1923 外星千足虫(高斯消元)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1923 题意:有n个数字,m次测试.每个数字为0或者1.每次测试选出一些数字出来把他们加起 ...

  8. python学习,dict的映射练习

    练习dict的映射 #coding:utf-8 #问题: a->c, b->d, c->e... 现在有结果字符串求原字符串 dict1={'a':'c', 'b':'d', 'c' ...

  9. HDU 4946 共线凸包

    题目大意: 一些点在一张无穷图上面,每个点可以控制一些区域,这个区域满足这个点到达这个区域的时间严格小于其他点.求哪些点能够控制无穷面积的区域. 题目思路: 速度小的控制范围一定有限. 速度最大当且仅 ...

  10. QWidget、QDialog、QMainWindow的异同点

    简述 在分享所有基础知识之前,很有必要在这里介绍下常用的窗口 - QWidget.QDialog.QMainWindow. QWidget继承于QObject和QPaintDevice,QDialog ...