我發現與此相關的幾個問題和答案,但沒有任何解決方案都會使我明白爲什麼這個代碼不工作:Tkinter的帆布和滾動條
root=tk.Tk()
vscrollbar = tk.Scrollbar(root)
c= tk.Canvas(root,background = "#D2D2D2",yscrollcommand=vscrollbar.set)
vscrollbar.config(command=c.yview)
vscrollbar.pack(side=tk.LEFT, fill=tk.Y)
f=tk.Frame(c) #Create the frame which will hold the widgets
c.pack(side="left", fill="both", expand=True)
c.create_window(0,0,window=f)
testcontentA = tk.Label(f,wraplength=350 ,text=r"Det er en kendsgerning, at man bliver distraheret af læsbart indhold på en side, når man betragter dens websider, som stadig er på udviklingsstadiet. Der har været et utal af websider, som stadig er på udviklingsstadiet. Der har været et utal af variationer, som er opstået enten på grund af fejl og andre gange med vilje (som blandt andet et resultat af humor).")
testcontentB = tk.Button(f,text="anytext")
testcontentA.pack()
testcontentB.pack()
f.pack()
c.config(scrollregion=c.bbox("all"))
root.mainloop()
我有一個動態生成的內容一個Tkinter的窗口 - 這意味着如果屏幕上顯示兩個許多小部件,就需要能夠向下滾動。我希望能夠使用小部件填充框架'f',然後使用canvas.create_window()函數以可滾動的方式顯示它。
現在顯示窗口,但滾動條未啓用 - 它像滾動區域不正確或滾動條和畫布之間的鏈接不正確。
這太棒了 - 非常感謝!我會測試這個並回來 – user3535074