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!