解决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!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部