阅读目录

  • Listbox 以列表的形式显示
  • Scrollbar 滚动条
  • Scale 更滚动条很相似,但更精准

Listbox:

   说明:列表框控件,在Listbox窗口小部件是用来显示一个字符串列表给用户

  属性:创建一个Listbox组件的时候,它是空的,首先是添加文本进去

  insert():有两个参数,第一个是插入的索引号,第二个是插入的字符串

from tkinter import *
root = Tk()
var = StringVar()
var.set(['A','B','C','D']) #定义一个变量,赋值,然后再给listvariable
thelb = Listbox(root,listvariable=var).pack()
mainloop()

结果:

    

  当然,使用delete()方法是删除列表中的项目,重用的操作是删除所有的项目:Listbox.delete(0,END)

  也可以删除指定的项目,用ACTIVE

from tkinter import *
root = Tk()
thelb = Listbox(root,height=15)  #这里表示显示15行
thelb.pack()
for i in range(100):
thelb.insert(END,i)
#这个ACTIVE是一个特殊的索引号,表示当前被选中的项目
thebu = Button(root,text='删除',command = lambda x = thelb: x.delete(ACTIVE)).pack()
mainloop()

结果:

      

  利用for循环插入数据,这里获取光标所选中的东西用 curselection()方法

from tkinter import *
root = Tk()
var1 = StringVar()  #定义一个变量用来接收
Label(root,bg='yellow',textvariable=var1,width=8).pack()
thelb = Listbox(root)
thelb.pack()
for i in ['王昭君','庄周','吕布','亚瑟']:
thelb.insert(END,i)
def show():
value = thelb.get(thelb.curselection())    #获取光标在这个listbox上选定的值
var1.set(value)
Button(root,text='获取',command=show).pack()
mainloop()

结果:

    

Scrollbar:

   说明:滚动条控件,当内容超过可视化区域时使用,如列表框

  属性:为了在某个组件上安装滚动条,需要做这两件事情:

  1,设置该组件的 yscrollbarcommand 选项为 Scrollbar组件的set() 方法

  2,设置Scrollbar 组件的 command 选项为该组件的 yview() 方法

from tkinter import *
root = Tk()
sb = Scrollbar(root)
sb.pack(side=RIGHT,fill=Y)
lb = Listbox(root,yscrollcommand= sb.set)
for i in range(1000):
lb.insert(END,i)
lb.pack(side=RIGHT)
sb.config(command=lb.yview)
mainloop()

结果:

    

Scale:

  说明:范围控件,显示一个数值刻度,为输出限定范围的数字区间

  属性:指定一个范围,用from_,to,

from tkinter import *
root = Tk()
Scale(root,from_=0,to=42).pack()
Scale(root,from_=0,to=200,orient = HORIZONTAL).pack()
mainloop()

结果:

    

  当然,还有其他属性,orient,控制滑块的方位,HORIZONTAL(水平),VERTICAL(垂直)

  通过resolution选项可以控制分辨率(步长),通过tickinterval选项控制刻度

from tkinter import *
root = Tk()
l = Label(root,text='',bg='yellow',width=10)
l.pack()
def show(v):
l.config(text='长度为:' + v)  #这个是改变label标签的text
Scale(root,from_=0,to=66,tickinterval=3,resolution=3,length=200,orient=VERTICAL).pack()
Scale(root,from_=0,to=100,tickinterval=5,resolution=5,\
length=500,orient=HORIZONTAL,command=show).pack()  #这个时候会产生一个参数,传给函数就行
mainloop()

结果:

    

参考文献:

  小甲鱼的python教学视频

tkinter学习-滚动条的更多相关文章

  1. Python Tkinter 学习成果:点歌软件music

    笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...

  2. tkinter学习-Lable&Button

    tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...

  3. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

  4. Python Tkinter学习笔记

    介绍 入门实例 显示一个窗口,窗口里面有一个标签,显示文字 import tkinter as tk # 一个顶层窗口的实例(Top Level),也称为根窗口 app = tk.Tk() # 设置窗 ...

  5. Python Tkinter学习(1)——第一个Tkinter程序

    注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...

  6. tkinter学习系列之(八) Canvas控件

    目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...

  7. python之tkinter使用-滚动条

    # GUI:tkinter使用 # 通过调节滚动条改变标签中字体大小 import tkinter as tk def resize(ev=None): '''改变label字体大小''' label ...

  8. python我的tkinter学习,玩玩

    1.开始 #!/usr/bin/env python #coding:utf-8 import Tkinter ############################################ ...

  9. python之GUI编程-tkinter学习

    推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...

随机推荐

  1. (转)java 线程同步

    转自 http://blog.csdn.net/column/details/java-thread.html http://leo-faith.iteye.com/blog/177779 http: ...

  2. SQL必知必会03 计算字段 获取当前日期时间 日期时间格式化

  3. shell学习(2)- sed

    一.替换(s) 详细用法  [address]s/pattern/replacement/flags 修饰flag的标志如下: 命令 说明 n 1到512之间的一个数字,表示文本模式中指定模式第n次出 ...

  4. 微信开发(一)URL配置

    启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个,进入微信公众平台-开发模式,如下: 需要填写url和token,当时本人填写这个的时候花了好久,我本以为填写个服务器的url就可以了( ...

  5. Zynq7000开发系列-3(Xilinx交叉编译环境搭建)

    一.前言 上一篇文章说了,在开发之前必须先搭建起交叉编译环境,于是这里我们就介绍一下环境的搭建过程. 其实在所安装的Vivado HLx 2016.4中就包含了Xilinx SDK,在该SDK上即可开 ...

  6. Excel2Json记录

    1.有关配置的读取 import configparser import codecs #配置文件格式[config] #自定义的配置key=valuekey2=value2 读取配置 conf = ...

  7. Unity Shader入门精要学习笔记 - 第10章 高级纹理

    转载自 冯乐乐的 <Unity Shader入门精要> 立方体纹理 在图形学中,立方体纹理是环境映射的一种实现方法.环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了层 ...

  8. qq登录,新浪微博登录 ,接口开发

    给linux命令在线中文手册加了,qq登录和新浪微博登录,认证用的是auth2.0,并且用了js api和php api相结合的方式来做的.个人觉得这种方式,兼顾安全和人性化.以前写过一篇关于申请的博 ...

  9. WebService_Demo

    简述 使用IDEA开发webservice服务,从零开始一步一步指引你. 服务端开发 首先创建一个webservice项目,如下图 创建完项目后idea会帮我们创建一个类,helloword,我们把它 ...

  10. Java 过滤器实现(登录) + 拦截器(两种方法)

    以下是实现未登录不能进入页面的实现 使用了thyemeleaf+SpringBoot+过滤器实现的,过滤器的核心代码如下: @Component @WebFilter(filterName = &qu ...