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教学视频

时间: 2024-09-29 02:53:23

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

python tkinter学习

Downloading the module: sudo apt-get install python-tk simple example: #!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode Tkinter tutorial This script shows a simple window on the screen. author: Jan Bodnar last modified: January 2011 we

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

笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点歌软件成了笔者的需求. 点歌软件需求极简单: 读磁盘上的目录取全部music,双击则调用播放器播放music. 自己常唱的歌曲可以选到自选歌曲列表. 支持按简拼搜索music 之前已经用多种开发工具写过,这次逢学习python的机会用它再写一个python版. 软件界面如下: 双击启动播放器. 就代

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

相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Message Text Listbox Checkbutton Radiobutton Scale Scrollbar 首发时间:2018-03-04 16:39 Python的GUI各有各特点. 由于只是轻微涉及GUI开发,所以就以轻量级的tkinter来学习. tkinter的使用: 1.模块的导入

python之tkinter使用-滚动条

1 # GUI:tkinter使用 2 # 通过调节滚动条改变标签中字体大小 3 import tkinter as tk 4 5 6 def resize(ev=None): 7 '''改变label字体大小''' 8 label.config(font='Helvetica -%d bold' % scale.get()) 9 10 11 top = tk.Tk() # 实例化tkinter对象 12 top.geometry('250x150') # 设置窗口大小 13 top.title

Python Tkinter学习(三)

Python初学--窗口视窗Tkinter 1.1 什么是 Tkinter Python自带的可编辑的GUI界面,是一个图像窗口. Tkinter是使用 python 进行窗口视窗设计的模块.简单的构造,多平台,多系统的兼容性, 能让它成为让你快速入门定制窗口文件的好助手.它在 python 窗口视窗模块中是一款简单型的.所以用来入门,熟悉窗口视窗的使用,非常有必要. tkinter 的窗口部件 2.1 Label & Button 标签和按钮 窗口主体框架 每一个tkinter应用的主体框架都

tkinter学习01

1.简介: Python标准库tkinter是对Tcl/Tk的进一步分装,与tkinter.ttk 和 tkinter.tik共同提供了强大的跨平台GUI编程功能.作为扩展,tkinter.ttk提供了Combobox.Progressbar和Treeview等组件,tkinter.scrolledtext提供了带滚动条的文本框,messagebox.commondialog.dialog.colorchooser.simpledialog.filedialog等模块提供了各种对话框. 2.tk

tkinter学习05

#!/usr/bin/env python3 #-*- coding:utf-8 -*- ''' Administrator 2018/11/2 ''' from tkinter import * #创建根窗口 root = Tk() #设置窗口标题 root.title("Hello") #设置窗口大小 root.geometry("300x200") #在窗体中创建一个框架,用它来承载其他小部件 app = Frame(root) #设置布局管理器 app.gr

tkinter学习(3)scale尺度条和menu菜单

1.scale学习(尺度条)1.1 代码: #第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题.大小和位置 win = tk.Tk() win.title('scale study window') #定义标题,如果未设置,就是默认tk的标题 win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0 #--------------上述格式基本固定---------

tkinter学习(5)messagebox、pack、grid和place方法

1.messagebox信息弹出框 1.1 代码: import tkinter as tk #导出tk模块 import tkinter.messagebox #导出弹出信息框 #定义窗口.标题.大小和位置 window = tk.Tk() window.title('my window') window.geometry('800x400+500+0') def hit_me(): #tk.messagebox.showinfo(title='Hi', message='显示信息') # r