首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >画布和框架的宽度不起作用。框架内有滚动条的画布不起作用。整个框架不可见

画布和框架的宽度不起作用。框架内有滚动条的画布不起作用。整个框架不可见
EN

Stack Overflow用户
提问于 2020-10-17 11:16:27
回答 2查看 39关注 0票数 1

我想在窗口的左侧与画布的width=320框架,在其中我必须显示来自文件的数据。在该画布上将有许多小部件(数据),所以我还想在其中使用滚动条。当我使用bg=()时,窗口上什么也没有显示--甚至连带有“天蓝”的框架都看不见。请告诉我出什么事了。我已经尝试了fill=BOTH,expand=True等的所有组合,但我仍然无法做出我想要的东西。

代码语言:javascript
运行
复制
root = Tk()
root.state('zoomed')   #zooms the screen to maxm whenever executed
root.geometry('550x650')
root.minsize(550,650)

#Frame inside root
ContactDetails_frame = Frame(root,width=320,bg='sky blue',bd=2, relief=RIDGE)
ContactDetails_frame.pack(side=LEFT,fill=BOTH)

#Canvas inside the frame
canvas = Canvas(ContactDetails_frame,width=320,bg='sky blue',scrollregion=(30,0,1000,1000))
canvas.pack(fill=BOTH,expand=True)

#Vertical scrollbar for canvas
scrollbar = Scrollbar(canvas,orient=VERTICAL)
scrollbar.pack(side=RIGHT,fill=Y,expand=True)

#Attach scrollbar to canvas
canvas.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=canvas.yview)

#Here are the widgets
FirstName = Label(canvas, text="First name: ", font=(12),bg='sky blue',fg='black')
canvas.create_window(10,175, window=FirstName)

MiddleName = Label(canvas, text="Middle name: ",font=(12),bg='sky blue',fg='black')
canvas.create_window(10,195, window=MiddleName)

LastName = Label(canvas, text="Last name: ",font=(12),bg='sky blue',fg='black')
canvas.create_window(10,215, window=LastName)

NickName = Label(canvas, text="Nick name: ",font=(12),bg='sky blue',fg='black')
canvas.create_window(10,235, window=NickName)

Note = Label(canvas, text="Note: ",font=(12),bg='sky blue',fg='black')
canvas.create_window(10,855, window=Note)


root.mainloop()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-17 23:05:06

当您将滚动条放入画布中时,画布将收缩以适合滚动条。几乎没有一个很好的理由将滚动条放在画布内,因为它会覆盖边缘上的任何对象。在大多数情况下,画布和滚动条需要有一个共同的父级。

代码语言:javascript
运行
复制
canvas = Canvas(ContactDetails_frame, ...)
scrollbar = Scrollbar(ContactDetails_frame, ...)

scrollbar.pack(side="right",fill=Y)   
canvas.pack(side="left", fill=BOTH,expand=True)
票数 1
EN

Stack Overflow用户

发布于 2020-10-17 14:06:39

试着给框架和画布赋予高度。注意,框架和画布的单位是不同的,这意味着由于单位不同,宽度320的框架比宽度320的画布要小。同样,身高也是如此。

有关tkinter的备注,请访问:

https://mycodenotein.netlify.app

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64398670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档