Полоса прокрутки Tkinter затенена - PullRequest
0 голосов
/ 05 мая 2018

У меня есть графический интерфейс с окном сообщения внизу (рамка, содержащая холст, другая рамка внутри этого холста и полоса прокрутки). В окне все отображается правильно, но полоса прокрутки всегда отображается серым цветом, и прокрутка отсутствует. Кто-нибудь знает, как это исправить? (Я знаю, что некоторые люди задавали похожий вопрос, но мне не удалось исправить мой код ни одним из ответов, которые я прочитал.)

    frmMess = Frame(self.window)
    frmMess.pack(side = BOTTOM)
    frmMess.pack(expand = True, fill = X)
    frmMess.bind("<Configure>", lambda e: msgPark.configure(width=e.width-10))         

    self.canvas_main = Canvas(frmMess)
    self.canvas_main.pack(side = LEFT)
    self.canvas_main.pack(expand = True, fill = X)
    self.canvas_main.bind("<Configure>", lambda e: msgPark.configure(width=e.width-10)) 
    self.canvas_main.configure(scrollregion = self.canvas_main.bbox('all'))


    self.frmMessageBox = Frame(self.canvas_main, bg = self.bgcolor_m)
    self.frmMessageBox.pack(side = BOTTOM)
    self.frmMessageBox.pack(expand = True, fill = X)
    self.frmMessageBox.bind("<Configure>", lambda e: msgPark.configure(width=e.width-10)) 

    messageScroll = Scrollbar(frmMess, orient = "vertical")
    self.canvas_main.configure(yscrollcommand = messageScroll.set)
    messageScroll.pack(side = LEFT, fill = Y)
    messageScroll.configure(command = self.canvas_main.yview)

Позже я вызываю функцию, которая помещает сообщения в рамку встраивания (которая изначально пуста). Я не знаю, происходит ли проблема из-за функции, которую я звоню позже, или из-за первоначальной настройки

addMessage():
    event = myString
    msgPark = Message(self.frmMessageBox, text = event, bg = self.bgcolor_m,
                      pady = 5, padx = 10)
    msgPark.pack(expand = True, fill = X)
    msgPark.bind("<Configure>", lambda e: msgPark.configure(width=e.width-10)) 

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...