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