Python Tkinter滚动条不起作用

时间:2016-08-21 22:54:48

标签: python tkinter

我正在使用tkinter在Python 3中开发一个新程序。我正在尝试向整个窗口添加滚动条,但它无法正常工作。现在我只是想让窗口高1000像素(稍后将在程序中设置)并使用垂直滚动条访问屏幕上未显示的部分。我已经阅读了多个其他线程,试图弄明白并尝试过。有人可以告诉我如何让它工作,我做错了什么。没有显示错误,但也没有显示滚动条。这是代码:

from tkinter import *
class MusicPlayer:
    def __init__(self):
        self.tk = Tk()
        self.tk.title("Bass Blaster")
        self.screen_width, self.screen_height = self.tk.winfo_screenwidth(), self.tk.winfo_screenheight()
        self.frame = Frame(self.tk, width=self.screen_width, height=self.screen_height)
        self.frame.grid(row=0, column=0)
        self.canvas = Canvas(self.frame, bg="#585858", width=self.screen_width, height=self.screen_height, scrollregion=(0, 0, self.screen_width, 1000))
        vbar = Scrollbar(self.frame, orient=VERTICAL)
        vbar.pack(side=RIGHT, fill=Y)
        vbar.config(command=self.canvas.yview)
        self.canvas.config(width=self.screen_width, height=self.screen_height)
        self.canvas.config(yscrollcommand=vbar.set)
        self.canvas.pack(side=LEFT, expand=True, fill=BOTH)
        self.tk.update()

bass_blaster = MusicPlayer()
bass_blaster.tk.mainloop()

1 个答案:

答案 0 :(得分:0)

滚动条一直存在,问题是我将画布宽度设置为屏幕尺寸,滚动条添加到宽度上,因此离开屏幕。我只需要减少宽度。