Tkinter滚动条不工作。我做错什么了?

2024-09-27 22:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还比较陌生,我正在为uni项目的聊天客户端开发一些基本的图形。大多数事情似乎工作良好,但我不能让滚动条工作,尽管广泛的搜索问题

chat = Tk()
chat.title('')

###
canvas = Canvas(chat, width = 450, height = 750)
scrollbar = Scrollbar(canvas, command = canvas.yview)
canvas.configure(yscrollcommand=scrollbar.set)
canvas.pack()
scrollbar.pack(side=RIGHT, fill=Y)
topframe = Frame(canvas, bg = 'dark slate blue', width = 450, height = 750)
topframe.pack(side = TOP)
topframe.propagate(0)
botframe = Frame(chat, bg = 'dark slate blue', width = 450, height = 50)
botframe.pack(side = BOTTOM)
###

my_msg = StringVar()
my_msg.set('Message...')
entrybox = Entry(botframe, textvariable=my_msg, bg='slate blue', width=47,
                     font = 'SansSerif 12')
entrybox.pack(side=LEFT)
sendbutton = Button(botframe, text = 'Send', width = 4, height = 1,
                        bg = 'gray11', fg = 'white', command = sendmsg)
sendbutton.pack(side=RIGHT)
entrybox.bind('<Return>',enter_pressed)
entrybox.bind('<Button-1>',clearentry)

chat.mainloop()

基本上我有一个框架,在画布里面;所有消息都显示为框架内的消息小部件,但一旦消息到达屏幕的末尾,我显然希望能够向下滚动。我的滚动条显示为灰色,无法与之交互。我发现有人提到了一个额外的canvas.configure语句,但我也没能做到这一点。我做错什么了


Tags: mychatmsgbluewidthsidepackcanvas

热门问题