我正在尝试用两个画布和一个滚动条同时创建一个gui,作为另一个项目的测试。我创建了根,两个画布并使用网格方法为每个画布固定了一些标签,并创建了滚动条。
但是,当我运行程序时,滚动条会移动罚款,但窗口的内容根本不会改变,就好像条形图不起作用一样。我通过谷歌搜索我的问题尝试了一些解决方案,但到目前为止我还没有能够解决它。
相关代码是
from tkinter import *
root = Tk()
#scroll
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
firstCanvas = Canvas(root, width=200, height=100)
firstCanvas.pack(side="left", fill="both", expand=True)
secondCanvas = Canvas(root, width=20000, height=10000,scrollregion=(0,0,0,5000),yscrollcommand=scrollbar.set)
secondCanvas.pack(side="left", fill="both", expand=True)
secondCanvas.create_rectangle((200,300,300,6000))
widget = Label(firstCanvas, text='Spam')
widget.pack()
# Lots of widgets so they reach beyond the screen, all in the following format
widgetOne=Label(firstCanvas, text="this is a test")
widgetOne.pack()
widgetTwo=Entry(firstCanvas)
widgetTwo.pack()
widgetThree=Label(secondCanvas, text='Spam')
widgetFour=Entry(secondCanvas)
widgetFour.pack()
scrollbar.config(command=secondCanvas.yview)
mainloop()
答案 0 :(得分:2)
画布仅滚动画布对象。对于小部件,这意味着使用canvas.create_window(...)