您已将滚动条附加到
window
Scrollbar(window, orient="vertical")
尝试附加到
listNodes
Scrollbar(listNodes, orient="vertical")
或
frame使用
Listbox滚动条创建并附加到该框架。
编辑: 示例
frame
from Tkinter import *window = Tk()window.geometry("680x500")Label(window, text="Top label").pack()frame = frame(window)frame.pack()listNodes = Listbox(frame, width=20, height=20, font=("Helvetica", 12))listNodes.pack(side="left", fill="y")scrollbar = Scrollbar(frame, orient="vertical")scrollbar.config(command=listNodes.yview)scrollbar.pack(side="right", fill="y")listNodes.config(yscrollcommand=scrollbar.set)for x in range(100): listNodes.insert(END, str(x))Label(window, text="Bottom label").pack()window.mainloop()编辑: 在您的代码框架-我使用,
grid/pack因为我更喜欢它。
我添加了一些代码,因此现在在调整窗口大小时列出了调整大小。
from Tkinter import *def onselect(event): w = event.widget index = int(w.curselection()[0]) value = w.get(index) info = find_info(value) listSelection.delete(0, END) listSelection.insert(END, "Node ID: " + info[0]) listSelection.insert(END, "Owner/Description: " + info[1]) listSelection.insert(END, "Last Latitude: " + info[2]) listSelection.insert(END, "Last Longitude: " + info[3])mapNodes = "http://ukhas.net/api/mapNodes"nodeData = "http://ukhas.net/api/nodeData"current_id = 0window = Tk() # create windowwindow.configure(bg='lightgrey')window.title("UKHASnet Node Manager")window.geometry("680x400")lbl1 = Label(window, text="Node List:", fg='black', font=("Helvetica", 16, "bold"))lbl2 = Label(window, text="Node Information:", fg='black', font=("Helvetica", 16,"bold"))lbl1.grid(row=0, column=0, sticky=W)lbl2.grid(row=0, column=1, sticky=W)frm = frame(window)frm.grid(row=1, column=0, sticky=N+S)window.rowconfigure(1, weight=1)window.columnconfigure(1, weight=1)scrollbar = Scrollbar(frm, orient="vertical")scrollbar.pack(side=RIGHT, fill=Y)listNodes = Listbox(frm, width=20, yscrollcommand=scrollbar.set, font=("Helvetica", 12))listNodes.pack(expand=True, fill=Y)scrollbar.config(command=listNodes.yview)listSelection = Listbox(window, height=4, font=("Helvetica", 12))listSelection.grid(row=1, column=1, sticky=E+W+N)for x in range(100): listNodes.insert(END, x)for x in "ABCD":listSelection.insert(END, x + ": ?")


