Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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 tkinter-滚动条将不显示_Python_Tkinter - Fatal编程技术网

Python tkinter-滚动条将不显示

Python tkinter-滚动条将不显示,python,tkinter,Python,Tkinter,我正在用Python开发GUI,运行时没有显示滚动条。它有一个带箭头的空条,但里面没有滚动条,滚动条根本不工作 #Scroll Functions def ScrollAll(event): self.topcanvas.config(scrollregion = self.topcanvas.bbox("all")) def on_mousewheel(event): self.topcanvas.yview('scroll',0, 'units

我正在用Python开发GUI,运行时没有显示滚动条。它有一个带箭头的空条,但里面没有滚动条,滚动条根本不工作

#Scroll Functions
    def ScrollAll(event):
        self.topcanvas.config(scrollregion = self.topcanvas.bbox("all"))
    def on_mousewheel(event):
        self.topcanvas.yview('scroll',0, 'units')

    #topframe
    topframe = Frame(master, background = '#D9F7FE', width = 2100, height = 1700)
    topframe.place(x = 0, y = 0)

    #Top canvas
    self.topcanvas = Canvas(topframe, scrollregion = (0, 0, 1000, 1000))
    self.topcanvas.pack(side = TOP, fill = BOTH, expand = TRUE)
    self.topcanvas.config(width = 2100, height =1700, background = '#D9F7FE')

    #scroll
    self.vbar = ttk.Scrollbar(master, orient = 'vertical', command = self.topcanvas.yview)
    #self.hbar = ttk.Scrollbar(master, orient = 'horizontal', command = self.topcanvas.xview)
    #self.topcanvas.config(xscrollcommand = self.hbar.set)
    self.topcanvas.config(yscrollcommand = self.vbar.set)

    #self.hbar.pack(side = "bottom", fill = "x")
    self.vbar.pack(side = "right", fill = "y")
    self.topcanvas.pack(side="left")
    self.topcanvas.bind_all("<MouseWheel>", on_mousewheel)

    #frame
    frame = Frame(self.topcanvas)
    frame.config(width = 2100, height = 1700,background = '#D9F7FE') 
    self.topcanvas.create_window((0,0), window = frame, anchor = 'nw')
    frame.bind("<Configure>", ScrollAll)
#滚动功能
def ScrollAll(事件):
self.topcanvas.config(scrollregion=self.topcanvas.bbox(“全部”))
鼠标滚轮上的def(事件):
self.topcanvas.yview('scroll',0',units')
#顶框
顶部框架=框架(主框架,背景='#D9F7FE',宽度=2100,高度=1700)
顶框位置(x=0,y=0)
#顶部帆布
self.topcanvas=Canvas(topframe,scrollregion=(0,0,1000,1000))
self.topcanvas.pack(side=TOP,fill=BOTH,expand=TRUE)
self.topcanvas.config(宽度=2100,高度=1700,背景='#D9F7FE')
#卷轴
self.vbar=ttk.Scrollbar(master,orient='vertical',command=self.topcanvas.yview)
#self.hbar=ttk.Scrollbar(master,orient='horizontal',command=self.topcanvas.xview)
#self.topcanvas.config(xscrollcommand=self.hbar.set)
self.topcanvas.config(yscrollcommand=self.vbar.set)
#自包装(side=“bottom”,fill=“x”)
self.vbar.pack(side=“right”,fill=“y”)
self.topcanvas.pack(side=“left”)
self.topcanvas.bind_all(“,在鼠标滚轮上)
#框架
frame=frame(self.topcanvas)
frame.config(宽度=2100,高度=1700,背景=“#D9F7FE”)
self.topcanvas.create_window((0,0),window=frame,anchor=nw)
frame.bind(“,ScrollAll)

我的滚动区域需要大于它所在的实际帧。我增加了滚动区域,滚动条工作正常。

请您再扩展一些代码以使其可复制?我实际上还没有尝试过您的代码,但画布的滚动区域似乎永远不会比画布本身大,因此,滚动条没有任何作用。@jasonharper我调整了滚动区域,解决了这个问题。多谢各位