python tk text scrollbar_tk.Scrollbar控件的使用

Scrollbar控件一般都是与Text或Listbox等需要上下滚动显示的控件一并使用,使得这些显示控件能够上下翻滚以便方便的显示和供人查看所有信息。那么,这就需要将Scrollbar与其它widget进行捆绑使用,本文介绍此内容。其实,从Scrollbar需要自己手动编写代码来进行与其它widget捆绑就能看出,tkinter这个python官方提供的GUI库,是比较底层一点的,所以它更加地灵活。

本文用实际代码用例来说明如何使用Scrollbar。

tk.Scrollbar与tk.Listbox捆绑

以上代码3-6行是关键。Listbox一般都是放在左边,Scrollbar放在右边并在Y轴进行填充,Scrollbar的command绑定Listbox的yview方法,Listbox的yscrollcommand绑定Scrollbar的set方法。这样就成功了,导入300行数据,看到的效果如下,默认鼠标上下滚动,以及使用Up和Down按键,还有PageUp和PageDown都有效果。

Scrollbar绑定Listbox的效果

tk.Scrollbar与tk.Text绑定

再看一个Scrollbar与Text配合使用的示例:

换成了Text控件,但在于Scrollbar配合使用的时候,代码风格是完全一样的。这段代码缩小了Text的宽度,默认窗口太大了,不方便截图。后面插入一堆数据,忘记了换行,就这样吧。以上代码运行效果如下:

scrollbar与text控件配合使用效果

以上就是对tkinter中Scrollbar控件使用的总结。最后说明一下,python官方提供了一个ScrolledText类,这个类继承自Text,也是绑定了Scrollbar控件,这段代码如下,供参考学习:

class ScrolledText(Text):

def __init__(self, master=None, **kw):

self.frame = Frame(master)

self.vbar = Scrollbar(self.frame)

self.vbar.pack(side=RIGHT, fill=Y)

kw.update({'yscrollcommand': self.vbar.set})

Text.__init__(self, self.frame, **kw)

self.pack(side=LEFT, fill=BOTH, expand=True)

self.vbar['command'] = self.yview

# Copy geometry methods of self.frame without overriding Text

# methods -- hack!

text_meths = vars(Text).keys()

methods = vars(Pack).keys() | vars(Grid).keys() | vars(Place).keys()

methods = methods.difference(text_meths)

for m in methods:

if m[0] != '_' and m != 'config' and m != 'configure':

setattr(self, m, getattr(self.frame, m))

对Scrollbar的使用,基本上与本文给出的两个示例一样。

-- EOF --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值