Tkinter教程之Scrollbar篇

tkinter-Scrollbar详解 本文介绍另一个控件Scrollbar,在tkinter-Text详解一文中有提到过Scrollbar,但是没有做过多的说明。因此本文将详解Scrollbar及其使用场景。 文章目录Scrollbarelementorientactivebackgroundbackgroundcursorjumprepeatdelayrepeatintervaltakefocuscommandset()什么是可滚动控件?scrollbar和可滚动控件的关系?scrollbar与可滚动控件的绑定 Scrollbar Scrol 阅读详情
'''Tkinter教程之Scrollbar篇'''
#Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox,Text,Canva等)结合使用
'''1创建一个Scrollbar'''
from Tkinter import *
root 
= Tk()
Scrollbar(root).pack()
root.mainloop()
#显示了一个Scrollbar,但什么也做不了,无法拖动slider。
from Tkinter import *
root 
= Tk()
sl 
= Scrollbar(root)
sl.set(
0.5,0)
sl.pack()
root.mainloop()
'''2.通过set方法来设置slider的位置'''
#使用水平滚动条,通过set将值设置为(0.5,1),即slider占整个Srollbar的一半
from Tkinter import *
root 
= Tk()
sl 
= Scrollbar(root,orient = HORIZONTAL)
sl.set(
0.5,1)
sl.pack()
root.mainloop()
'''3.使用回调函数(不建议这样使用)'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
def scrollCall(moveto,pos):
    
#如何得到两个参数:使用如下打印中的信息,可以看到解释器传给scrollCall函数的两个参数,一个为
    #moveto,参考手册可以得知,它是当拖动slider时调用的函数;另一个参数为slider的当前位置,我们
    #可以通过set函数来设置slider的位置,因此使用这个pos就可以完成控制slider的位置。
    #print moveto,pos
    sl.set(pos,0)
    
print sl.get()
sl 
= Scrollbar(root,orient = HORIZONTAL,command = scrollCall)
sl.pack()
root.mainloop()
#这样还有一个严重问题,只能对其进行拖动。对两个按钮及pagedwon/pageup的响应,由于up按钮响应的为三个参数,故会出
#
现异常。这个例子只是用来说明command属性是可用的,如果喜欢自己可以处理所有的消息,将scrollCall是否可以改为变参数函数?
#
对于不同的输入分别进行不同的处理。

'''4.单独使用还是比较少见,大部分应用还是与其它控件的绑定,以下是将一个Listbox与Scrollbar绑定的例子'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
lb 
= Listbox(root)
sl 
= Scrollbar(root)
sl.pack(side 
= RIGHT,fill = Y)
#side指定Scrollbar为居右;fill指定填充满整个剩余区域,到WM在时候再详细介绍这几个属性。
#
下面的这句是关键:指定Listbox的yscrollbar的回调函数为Scrollbar的set
lb['yscrollcommand'] = sl.set
for i in range(100):
    lb.insert(END,str(i))
#side指定Listbox为居左
lb.pack(side = LEFT)
#下面的这句是关键:指定Scrollbar的command的回调函数是Listbar的yview
sl['command'] = lb.yview
root.mainloop()
'''5.这样理解二者之间的关系:当Listbox改变时,Scrollbar调用set以改变slder的位置;当Scrollbar改变了slider的位置时,Listbox调用yview以显示新的list项,为了演示这两种关系先将yscrollcommad与scrollbar的set解除绑定,看看会有什么效果'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
lb 
= Listbox(root)
sl 
= Scrollbar(root)
sl.pack(side 
= RIGHT,fill = Y)
#解除Listbox的yscrollcommand与Scrollbar的set绑定
#
lb['yscrollcommand'] = sl.set
for i in range(100):
    lb.insert(END,str(i))
#使用索引为50的元素可见
lb.see(50)
lb.pack(side 
= LEFT)
sl[
'command'] = lb.yview
root.mainloop()
#运行结果,Listbox显示了50项,即Listbox的视图已经到50了,但Scrollbar的slider仍旧位于0处。也就是说Scroolbar没有收到set
#
的命令。即说明解除此绑定,Scrollbar将不再响应Listbox视图改变的消息。但仍可以使用Scrollbar的slider来移动Listbox的视图。

'''6.再测试一下,解除Scrollbar的command与Listbox的yview的关系,测试代码如下:'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
lb 
= Listbox(root)
sl 
= Scrollbar(root)
sl.pack(side 
= RIGHT,fill = Y)
#下面的这句是关键:指定Listbox的yscrollbar的回调函数为Scrollbar的set
lb['yscrollcommand'] = sl.set
for i in range(100):
    lb.insert(END,str(i
*100))
#使用索引为50的元素可见
lb.see(50)
lb.pack(side 
= LEFT)
#解除Scrollbar的command与Listbox的yview的关系
#
sl['command'] = lb.yview
root.mainloop()
#运行程序,Scrollbar的slider已经到了50位置,也就是说Scrollbar响应了Listbox视图改变的消息,调用 了自己的set函数。
#
进行操作:拖动slder或点击up/down按钮,Listbox的视图没有任何反应,即Listbox不会响应Scrollbar的消息了。

#author:     jcodeer
#
blog:    jcodeer.cublog.cn
#
email:    jcodeer@126.com
 
【tkinter组件专栏】Scrollbar:横滚竖滚滚动条 tkinter窗口组件之Scrollbar,横滚滚竖滚滚的滚动条 阅读详情

相关推荐

Tkinter实例学习

前段时间做一个东西刚好接触到python的Tkinter,上网看了一些基本教程,这里做一个总结,并参考网上的一个实例1.规划图2.源码# -*- coding:utf-8 -*- from tkinter import * from tkinter.filedialog import * class Application: num_info_hash = {} char_inf...

qq_38211852的博客 1862

Tkinter学习-Scrollbar

The Tkinter Scrollbar WidgetScrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。何时使用 Scrollbar 组件?    Scrollbar 组件通常几乎与 Text 组件、Canvas组件和 Listbox 组件一起使用,水平滚动条还能跟Entry 组件配合...

tianmuha的博客 8914

Python Tkinter 之Scrollbar控件(Python GUI 系列13)

Python Tkinter 之Scrollbar控件(Python GUI 系列13) 1. 序言 本章介绍Tkinter的Scrollbar控件,本文是Python GUI系列的第13篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。 2. 环境信息 ********************...

Jin_Kwok的博客 8201

Python ---(八)Tkinter窗口组件:Scrollbar

上一篇:Python —(七)Tkinter窗口组件:Listbox                            &n...

Monster丶ZF的博客 8036

GD32 TIMER0 PWM输出死活没波形?别忘了这个关键配置(附完整代码)

本文详细解析了GD32 TIMER0 PWM输出无波形的常见问题,特别强调了高级定时器特有的主输出使能配置。通过完整的代码示例和调试技巧,帮助开发者快速解决PWM输出问题,适用于无刷电机控制等嵌入式应用场景。

weixin_30906185的博客 397

Unipush2.0 App消息推送(在线+离线推送)

使用unipush2.0进行消息推送,包含在线跟离线

weixin_50251467的博客 3694

tkinter -- Scrollbar

tkinter -- Scrollbar

qq_43934844的博客 953

在 Ansys Mechanical 中使用“螺栓工具”插件自动生成螺栓

在有限元分析 (FEA) 中,高效创建螺栓连接对于确保机械装配的结构完整性和性能至关重要。螺栓是连接组件不可或缺的一部分,它们在负载下的精确建模会影响整个系统。快速高效的螺栓建模使工程师能够快速优化设计,满足紧迫的期限,并通过为其他关键设计任务释放资源来提高整体生产力。此外,螺栓建模的精度可以最大限度地降低模型创建过程中出错的风险,这对于获得可靠和准确的分析结果至关重要。因此,在 FEA 中快速且无错误地创建螺栓连接对于高效、可靠和成功的工程结果至关重要。

jkh920184196的博客 3099

tkinter教程5:控件Listbox和Scrollbar

tkinter教程5:控件Listbox和Scrollbar 本文博客链接:http://blog.youkuaiyun.com/jdh99,作者:jdh,转载请注明. 环境: python版本:3.5 开发环境:pyCharm 源码: import tkinter as tk import threading def main(): threading.Thread(...

jdh99的专栏 774

Unity WebGL项目如何实现画布透明,完美融入网页背景(附.jslib文件与完整配置)

本文详细解析了Unity WebGL项目实现画布透明化的技术原理与实战步骤,从.jslib文件配置到前端框架集成,帮助开发者解决默认背景色问题,实现3D内容与网页设计的无缝融合。重点介绍了透明化核心机制、常见误区及React/Vue等现代框架中的最佳实践方案。

weixin_31896061的博客 299

在 VS Code 里配置 SAP Joule for Developers 的 ABAP AI side-by-side 能力

摘要: 随着ABAP开发工具链的演进,VS Code逐渐融入ABAP开发流程,SAP Joule for Developers的ABAP AI能力通过side-by-side模式(基于BTP中央服务)为多系统开发提供统一AI支持。该模式避免了各ABAP后端独立升级AI能力的碎片化问题,由管理员配置BTP订阅URL后,开发者可在ADT或VS Code中全局调用。实际落地需注意角色分工(管理员配置服务,开发者填写URL)、AI units资源规划及配置细节(如区分全局与项目级设置)。建议将Joule URL纳入

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 120

实战tkinter图形界面开发_Tkinter python(图形开发界面)

Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。目录:1、简单实例2、Label控件3、Button控件4、Entry控件5、点击按钮输出输入框中的内容6、Text控件7、带滚动条的T...

weixin_39787057的博客 1042

华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【FLASH坏块监测系统】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - FLASH坏块监测系统。

qq_45776114的博客 1928

Tkinter组件:Scrollbar-滚动条

滚动条

记录学习路上的一些拙见 2272

STEP 7-Micro/WIN SMART 编程软件:从入门到精通的使用指南

通过不断实践,熟悉软件的各项功能和操作技巧,工程师可更好地应对工业自动化控制中的各种挑战,开发出高效、稳定的控制程序。项目的基本组件是构成程序的核心元素,包括:程序块(主程序 OB1、子程序和中断程序)、数据块(给 V 存储器赋初值)、系统块(硬件组态和参数设置)、符号表(用符号代替存储器地址,使程序更易理解)以及状态图表(监视、修改和强制变量状态)。下载程序时,单击工具栏上的 “下载” 按钮,在弹出的下载对话框中选择要下载的块(程序块、数据块、系统块),单击 “下载” 即可。

电工 5569

XGBoost原生接口和Sklearn接口参数详解

XGBoost原生接口和Sklearn接口参数详解

算法工程师 2654

Tkinter之Scrollbar篇

''' Created on 2017年9月15日 @author: Nick ''' ''' Created on 2017年9月13日 @author: Nick ''' ''' Tkinter之Scrollbar篇 Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox,Text,Canva等)结合使用 ''' #_*_coding:utf-8_*_ im

pengzhi5966885的博客 7525

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python——Tkinter Scrollbar滚动条|窗口滑动条

动条小部件用于向下滚顶其他小部件的内容,如列表框,文本和画布,但是,我们也可以为Entry小部件创建水平滚动条,常常被用于实现文本,画布和列表框的滚动 可以配合Text组件,Canvas组,Listbox组件一起使用,水平滚动条还能跟Entry组件配合

qq_60115503的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

tkinter文本实时更新滚动显示和scrollbar 与grid滚动条能拖拽使用

1、tkinter文本实时更新滚动显示 主要加上这句e4.yview_moveto(1)就行 e4.insert("end", response.status_code) e4.insert("end", "++++++++++++++++") e4.insert("end", "\n\n") # 换行骚操作 ...

weixin_42357472的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Python】【进阶篇】十二、Tkinter的Scrollbar滚动条控件

【Python】【进阶篇】十二、Tkinter的Scrollbar滚动条控件

deepboat的博客 4699

Tkinter 组件详解(九):Scrollbar

Tkinter 组件详解之Scrollbar Scrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。 何时使用 Scrollbar 组件? Scrollbar 组件通常几乎与 Text 组件、Canvas 组件和 Listbox 组件一起使用,水平滚动条还能跟 Entry 组件配合。 ...

来自江南的你的博客 3万+

Python GUI开发之Tkinter基础篇5:Listbox、Scrollbar组件

文章目录一、Listbox使用实例二、Scrollbar使用实例三、结语 前言 上一节我们学习了Radiobutton、Checkbutton组件,适用于少量的需要展示在列表中的选项,如果选项非常多,就推荐使用Listbox组件,不仅美观,且不会出现因按钮过多导致用户界面不够存放的情况。本文向大家介绍Listbox、Scrollbar组件,先用Listbox创建一个列表选项,再用Scrollba...

静晨66的博客 754
上一篇: Tkinter教程之Spinbox篇
下一篇: Tkinter教程之Menu篇
jcodeer
博客等级 码龄22年 272粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值