Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何制作可滚动的滚动条?_Python_Tkinter_Canvas_Scrollbar_Frames - Fatal编程技术网

Python 如何制作可滚动的滚动条?

Python 如何制作可滚动的滚动条?,python,tkinter,canvas,scrollbar,frames,Python,Tkinter,Canvas,Scrollbar,Frames,我的屏幕上有一个滚动条,但当我使用它时,我的页面会保持静止,但滚动条会移动!。如何更正代码以使用滚动条移动页面 from tkinter import * from PIL import ImageTk,Image root=Tk() canvas = Canvas(root, bd=0,height=1000,width=1000,scrollregion=(0,0,1500,1500)) frame = Frame(canvas, bd=2,height=1500,width=1500,b

我的屏幕上有一个滚动条,但当我使用它时,我的页面会保持静止,但滚动条会移动!。如何更正代码以使用滚动条移动页面

from tkinter import *
from PIL import ImageTk,Image
root=Tk()

canvas = Canvas(root, bd=0,height=1000,width=1000,scrollregion=(0,0,1500,1500))
frame = Frame(canvas, bd=2,height=1500,width=1500,bg='salmon',relief=SUNKEN)
frame.pack(expand=True, fill=BOTH)
hbar=Scrollbar(root,orient=HORIZONTAL)
hbar.pack(side=BOTTOM,fill=X)
hbar.config(command=canvas.xview)
vbar=Scrollbar(root,orient=VERTICAL)
vbar.pack(side=RIGHT,fill=Y)
vbar.config(command=canvas.yview)


canvas.config(xscrollcommand=hbar.set, yscrollcommand=vbar.set)
canvas.pack(side=LEFT,expand=True,fill=BOTH)
canvas.config(scrollregion=canvas.bbox(ALL))
L = Label(frame, text=" NAME OF THE STUDENT ",font=('segoe script', 20,'bold'),bg='yellow2',fg='maroon',relief='raised',bd=9)
L.place(relx=0.05,rely=0.5)


L1 = Label(frame, text=" USER NAME ",font=('segoe script', 20,'bold'),bg='yellow2',fg='maroon',relief='raised',bd=9)
L1.place(relx=0.05,rely=0.6)
E1 = Entry(frame, bd =10,width=20,selectborderwidth=2,relief='groove',font=('segoe script', 20,'bold'),fg='maroon')
E1.place(relx=0.35,rely=0.6)



L2 = Label(frame, text=" PASSWORD ",font=('segoe script', 20,'bold'),bg='yellow2',fg='maroon',relief='raised',bd=9)
L2.place(relx=0.05,rely=0.7)
E2 = Entry(frame, bd =10,width=15,selectborderwidth=2,relief='groove',font=('segoe script', 20,'bold'),fg='maroon',show='*')
E2.place(relx=0.35,rely=0.7)



L3 = Label(frame, text=" CONFIRM PASSWORD ",font=('segoe script', 20,'bold'),bg='yellow2',fg='maroon',relief='raised',bd=9)
L3.place(relx=0.05,rely=0.8)
E3 = Entry(frame, bd =10,width=15,selectborderwidth=2,relief='groove',font=('segoe script', 20,'bold'),fg='maroon',show='*')
E3.place(relx=0.55,rely=0.8)



stud_bt=Button(frame,text=' CREATE ACCOUNT ',font=('segoe script', 11,'bold'),height=2,width=15,bg='dark orchid4',fg='floralwhite',bd=8)
stud_bt.place(relx=0.39,rely=0.9)

frame.pack()
root.mainloop()"""

将所有内容添加到画布后,必须设置
滚动区域。否则,滚动区域将为
None


此外,您不能使用
pack
将框架放入画布中。必须使用画布的
create\u窗口
方法。您只能滚动画布创建的项目,而不能滚动使用
pack
grid
place
添加的项目。这是否回答了您的问题?欢迎来到SO,请提供最小可复制的示例,似乎有很多代码用于您的问题。另外,请在提问之前做一些研究,在SO,你会遇到很多类似的问题。最后但最不重要的是,检查链接中的“onFrameConfigure”代码。谢谢。我不能把它弄对。如何修改程序?请帮帮我。@Atlas435。请帮帮我。谢谢你,布莱恩!!你能告诉我如何修改我的代码吗?