解决Tkinter中grid/pack布局中的listbox,scrollbar组合横置

Python 2.7
IDE Pycharm 5.0.3

其实这个不应该写,我认为网上很多关于grid和listbox的操作,但是!大家都抄来抄去!完全没有get到重点啊!一个错误的答案能传和转好多博客,我真是很无语。不知道博主们转之前有没有自己实际测试过,至少我试过。

好啦,其实我想实现的很简单,如下图;
这里写图片描述
就是那么简单的一个listbox和scrollbar组合的玩意,当时用的是pack但是布局感觉很蛋疼,之后发现了grid,想着把工程里的pack都改过来,就拿一个listbox做了测试,结果当然是很蛋疼的,我不止一次看到这样的结论:

这里写图片描述
作为新手我当然去改啦,结果。。。。这样
这里写图片描述
导演,这和说好的不一样啊,我要的是横过来的啊!!
虽然能通过条子进行左右拽,但是!你们的审美去哪了啊喂!
这里写图片描述
而且,百度出来的结果几乎都是这几句话,大哥,你们能靠点谱么,至少我在python2.7,用pack,listbox,tkinter不行!
最后,终于让我找了好人!@purpentkinter-grid布局
这位大哥用的是grid布局,很受用,主要是那个orient='horizontal'才是解决我的实际问题(虽然很low)
这里写图片描述


问题得到解决,放上测试代码!

# -*- coding: utf-8 -*-
from tkinter import *
root = Tk()

lb = Listbox(root,exportselection=False,height=3)
list_item=['1', '2', '3', '4这里很长我需要拽过来~~~~~~~~~~~~~~~','5','6','7']
for i in list_item:
    lb.insert(END,i)

scr1 = Scrollbar(root)
lb.configure(yscrollcommand = scr1.set)
scr1['command']=lb.yview
scr1.grid(row=5,column=4)

scr2 = Scrollbar(root,orient='horizontal')
lb.configure(xscrollcommand = scr2.set)
scr2['command']=lb.xview
scr2.grid(row=6,column=5)

scr3 = Scrollbar(root)
lb.configure(yscrollcommand = scr3.set)
scr3['command']=lb.yview
scr3.grid(row=5,column=6)

lb.grid(row=5,column=5)
root.mainloop()

这里写图片描述

三个进度条都可以拖拽,满足我的需求。希望对你也有帮助!


最后说上一句,我很讨厌这样的闭塞式交流,简直呵呵,闭门造车吃枣药丸!

这里写图片描述
如果你是新浪博客用户,并且登录状态,那么这篇文章很好


so peace out,guys!
  have a good night!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值