tkinter学习-滚动条
阅读目录
- 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学习-滚动条的更多相关文章
- Python Tkinter 学习成果:点歌软件music
笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...
- tkinter学习-Lable&Button
tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...
- Python:GUI之tkinter学习笔记1控件的介绍及使用
相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...
- Python Tkinter学习笔记
介绍 入门实例 显示一个窗口,窗口里面有一个标签,显示文字 import tkinter as tk # 一个顶层窗口的实例(Top Level),也称为根窗口 app = tk.Tk() # 设置窗 ...
- Python Tkinter学习(1)——第一个Tkinter程序
注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...
- tkinter学习系列之(八) Canvas控件
目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...
- python之tkinter使用-滚动条
# GUI:tkinter使用 # 通过调节滚动条改变标签中字体大小 import tkinter as tk def resize(ev=None): '''改变label字体大小''' label ...
- python我的tkinter学习,玩玩
1.开始 #!/usr/bin/env python #coding:utf-8 import Tkinter ############################################ ...
- python之GUI编程-tkinter学习
推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...
随机推荐
- 慕课笔记-Java入门第二季
1.java对象的使用 (1)创建对象 类名 对象名=new 类名(); (2)使用对象 引用对象的属性:对象名.属性; 引用对象的方法:对象名.方法(); Note: ①Java会给成员变量赋初始值 ...
- java模拟进程调度之模拟抢占试多级轮转调度(附带可视化解决方案)
1.简介一下多级轮转调度 多级轮转调度是一种提高调度效率的解决方案,简单讲就是讲要执行的程分成几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示100 ...
- iOS开发 - 线程与进程的认识与理解
进程: 进程是指在系统中正在运行的一个应用程序,比如同时打开微信和Xcode,系统会分别启动2个进程; 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内; 线程: 一个进程要想执行任务 ...
- js中的同步和异步的个人理解(转)
你应该知道,javascript语言是一门“单线程”的语言,不像java语言,类继承Thread再来个thread.start就可以开辟一个线程,所以,javascript就像一条流水线,仅仅是一条流 ...
- 洛谷 P2260 [清华集训2012]模积和 || bzoj2956
https://www.lydsy.com/JudgeOnline/problem.php?id=2956 https://www.luogu.org/problemnew/show/P2260 暴力 ...
- 16 Groovy 和并发
Gpars是groovy的并行处理框架.其支持Actors, Map/Reduce, Dataflow, Fork/Join.关注更多请访问GPars website.
- python_19(Django外键)
第1章 Django ORM相关操作 1.1 在一个py文件中使用django项目 1.2 返回QuerySet对象的方法有 1.2.1 特殊的QuerySet 1.3 返回具体对象的 1.4 返回布 ...
- Azkaban的架构(三)
Azkaban是什么?(一) Azkaban的功能特点(二) 不多说,直接上干货! http://www.cnblogs.com/zlslch/category/938837.html Azkaban ...
- 使用SpringCloud-Netflix
目录 SpringCloud-Netflix 配置统一依赖管理 创建服务注册中心 创建服务提供者 创建服务消费者 SpringCloud-Netflix Spring Cloud 是一个相对比较新的微 ...
- jvm内存溢出的三种情况以及解决办法
1 前言相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深 ...