2015-04-03 219 views
0

我的GUI程序出現了一些問題,滾動條位於底部最後一幀的右側,我嘗試了很多東西,沒有解決我的問題,我只是希望將滾動條放在所有框架的底部。Python tkinter GUI不能正常顯示

下面是代碼

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#spyder 
from Tkinter import * 
import tkFileDialog 



def curdir(): 
    cdir = tkFileDialog.askdirectory(parent=finestra, initialdir="/home") 
    v.set(cdir) 

#MAIN 
finestra = Tk() 
finestra.title("Creacio de fitxer comprimit") 
f=Frame(finestra) 

b=Button(f,text='Escollir directori treball',command=curdir) 
b.pack(side=LEFT) 

v=StringVar() 
v.set("/home") 
e1=Entry(f,width=35,textvariable=v) 

e1.pack(side=LEFT) 

l1=Label(f,text="Fitxers a incorporar al fitxer tar:") 
l1.pack(side=TOP,anchor=N,padx=90) 
f.pack(side=TOP) 

f1=Frame(finestra) 
f1.pack(side=LEFT,anchor=NW) 

l2=Label(f1,text="Llista:") 
l2.pack(side=LEFT) 

br=Button(f1,text='Reomplir') 
br.pack(side=LEFT) 
bo=Button(f1,text='Ocultar no seleccionats') 
bo.pack(side=LEFT) 
bos=Button(f1,text='Ocultar seleccionats') 
bos.pack(side=LEFT) 

Label(f1,text="\t\tCompresió").pack(side=LEFT) 
rb1=Radiobutton(f1,text="cap").pack(side=LEFT) 
rb2=Radiobutton(f1,text="gzip",value="gzip").pack(side=LEFT) 
rb3=Radiobutton(f1,text="bzip2",value="bzip2").pack(side=LEFT) 
rb4=Radiobutton(f1,text="xz",value="xz").pack(side=LEFT) 

f2=Frame(finestra) 
f2.pack(side=RIGHT,fill="both") 

scrollbar = Scrollbar(f2) 
scrollbar.pack(side=RIGHT, fill=Y) 

listbox = Listbox(f2, bd=0, yscrollcommand=scrollbar.set) 
listbox.pack(side=LEFT) 

scrollbar.config(command=listbox.yview) 






mainloop() 
+0

您正在將滾動條添加到f2。那不是你想要的嗎? – stark 2015-04-03 13:05:14

+0

你能澄清幾件事嗎?首先,當你說你想要在框架底部的滾動條,在水平方向?其次,你是說你想在每個幀中使用滾動條,還是僅僅使用f2? – Thomas 2015-04-03 14:44:48

+0

我想要在底部滾動條,我添加框架,因爲它工作,但是當我到達那一點時,框架被添加在右邊而不是在底部。 – Ulrok 2015-04-03 15:52:40

回答

0

最後的作品改變架F側選項上面,看來,當你把東西在TOP中,剩下的事情會去這一塊下來,那是我不理解,我讓最終的代碼也許有人會有tkinter幀位置相同的問題。

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#spyder 
from Tkinter import * 
import tkFileDialog 



def curdir(): 
    cdir = tkFileDialog.askdirectory(parent=finestra, initialdir="/home") 
    v.set(cdir) 

#MAIN 
finestra = Tk() 
finestra.title("Creacio de fitxer comprimit") 
f=Frame(finestra) 
f.pack(side=TOP) 

b=Button(f,text='Escollir directori treball',command=curdir) 
b.pack(side=LEFT,anchor=W) 

v=StringVar() 
v.set("/home") 
e1=Entry(f,width=35,textvariable=v) 

e1.pack(side=LEFT) 

l1=Label(f,text="Fitxers a incorporar al fitxer tar:") 
l1.pack(side=TOP,anchor=N,padx=90) 


f1=Frame(finestra) 
f1.pack(side=TOP,anchor=NW) 

l2=Label(f1,text="Llista:") 
l2.pack(side=LEFT) 

br=Button(f1,text='Reomplir') 
br.pack(side=LEFT) 
bo=Button(f1,text='Ocultar no seleccionats') 
bo.pack(side=LEFT) 
bos=Button(f1,text='Ocultar seleccionats') 
bos.pack(side=LEFT) 

Label(f1,text="\t\tCompresió").pack(side=LEFT) 
rb1=Radiobutton(f1,text="cap").pack(side=LEFT) 
rb2=Radiobutton(f1,text="gzip",value="gzip").pack(side=LEFT) 
rb3=Radiobutton(f1,text="bzip2",value="bzip2").pack(side=LEFT) 
rb4=Radiobutton(f1,text="xz",value="xz").pack(side=LEFT) 



f2=Frame(finestra) 
f2.pack(side=LEFT,anchor=W) 
f3=Frame(finestra) 
f3.pack(side=LEFT) 



Label(f3,text="Tots:").pack(side=TOP) 
tots=Button(f3,text=">>>").pack(side=TOP) 
Label(f3,text="Als seleccionats:").pack(side=TOP) 
af=Button(f3,text="-->").pack(side=TOP) 
qt=Button(f3,text="<--").pack(side=TOP) 
Label(f3,text="Tots:").pack(side=TOP) 
cap=Button(f3,text="<<<").pack(side=TOP) 




scrollbar = Scrollbar(f2) 
scrollbar.pack(side=RIGHT, fill=Y) 

listbox = Listbox(f2, bd=0, yscrollcommand=scrollbar.set,width=55) 
listbox.pack(side=LEFT) 

scrollbar.config(command=listbox.yview) 




mainloop()