[英]tkinter scroll bar inactive
我正在嘗試使用 tkinter 使用垂直滾動條。 我正在使用下面的代碼。 滾動條一直顯示,直到我取消注釋該行
#canvas.configure(yscrollcommand=yscrollbar.set)
我究竟做錯了什么?
提前致謝!
import tkinter as tk
from tkinter import ttk
root =tk.Tk()
frame = tk.Frame(root)
frame.pack()
canvas = tk.Canvas(frame, height=200, width=200, background="blue")
yscrollbar = tk.Scrollbar(frame, orient=tk.VERTICAL, command=canvas.yview)
frame.columnconfigure(0, weight=1)
frame.rowconfigure(0, weight=1)
yscrollbar.grid(row=0, column=1, sticky='ns')
canvas.grid(row=0, column=0, sticky='ewns')
canvas.configure(yscrollcommand=yscrollbar.set)
canvas.config(scrollregion=canvas.bbox("all"))
root.mainloop()
謝謝,滾動區域小於畫布大小......
讓它工作
import tkinter as tk
from tkinter import ttk
root =tk.Tk()
frame = tk.Frame(root, height=100, width=100)
frame.pack()
frame.columnconfigure(0, weight=1)
frame.rowconfigure(0, weight=1)
canvas = tk.Canvas(frame, height=200, width=200, background="blue")
canvas.grid(row=0, column=0, sticky='ewns')
yscrollbar = tk.Scrollbar(frame, orient=tk.VERTICAL, command=canvas.yview)
yscrollbar.grid(row=0, column=1, sticky='ns')
canvas.configure(yscrollcommand=yscrollbar.set)
frame_buttons = tk.Frame(canvas, bg="green")
canvas.create_window((0, 0), window=frame_buttons, anchor="nw")
rows = 9
columns = 5
buttons = [[tk.Button() for j in range(columns)] for i in range(rows)]
for i in range(0, rows):
for j in range(0, columns):
buttons[i][j] = tk.Button(frame_buttons, text=("%d,%d" % (i+1, j+1)))
buttons[i][j].grid(row=i, column=j, sticky='news')
frame_buttons.update_idletasks()
canvas.configure(scrollregion=canvas.bbox("all"))
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.