有学习Python的Tkinter Gui过程中,给Listbox添加滚动条时,用了Grid布局就不用pack时,找了好多资料都没有解决问题。
只好用容器(Frame)包裹后再放入Grid布局中:
import tkinter as tk
root = tk.Tk()
# 用Farme 包裹listbox 和 scrollbar ,再把Farme 放入Grid中
frame =tk.Frame(root) # 定义一个Frame容器
list_urls=tk.Listbox(frame,width=68) # 创建一个Listbox
s_bar =tk.Scrollbar(frame, orient=tk.VERTICAL, command=list_urls.yview) # 创建一个Scrollbar
list_urls.pack(side=tk.LEFT, fill=tk.BOTH, expand=1) # 将Listbox pack
s_bar.pack(side=tk.RIGHT, fill=tk.Y) # 将Scrollbar pack
list_urls.config(yscrollcommand=s_bar.set) # 将Listbox与Scrollbar 关联
list_urls.bind("<Double-1>",list_urls_DBclick) # 绑定双击事件
frame.grid(row=1, column=1,columnspan=4)
for i in range(40):
list_urls.insert(tk.END,i)
root.mainloop()