tk 在class中用grid布局,在listbox中添加滚动块
时间: 2024-03-21 07:43:13 浏览: 48
可以使用`Scrollbar`和`grid`布局来为`Listbox`添加滚动条。以下是一个示例代码:
```python
import tkinter as tk
root = tk.Tk()
# 创建一个 Listbox
listbox = tk.Listbox(root)
# 向 Listbox 添加一些示例项
for i in range(50):
listbox.insert(tk.END, f"Item {i}")
# 创建一个 Scrollbar
scrollbar = tk.Scrollbar(root)
# 将 Scrollbar 和 Listbox 绑定
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
# 使用 grid 布局将 Listbox 和 Scrollbar 放置在窗口中
listbox.grid(row=0, column=0, sticky="nsew")
scrollbar.grid(row=0, column=1, sticky="ns")
# 使用 grid_columnconfigure 和 grid_rowconfigure 设置布局参数
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
# 运行窗口
root.mainloop()
```
在这个示例中,我们创建了一个`Listbox`并添加了一些示例项。然后,我们创建了一个`Scrollbar`并将其绑定到`Listbox`上。最后,我们使用`grid`布局将它们放置在窗口中,并使用`grid_columnconfigure`和`grid_rowconfigure`设置布局参数,以便在窗口大小发生变化时可以正确地调整大小。
阅读全文