python中的tk布局问题

如何将一个Label放在一个Canvas上面的指定位置?
2025-01-21 06:35:11
推荐回答(1个)
回答1:

这个问题涉及到tkinter的组件的布局,tkinter提供了三种布局管理方式

  pack():以块的方式组织组件,如同用石块(组件)堆积金字塔(父组件)一样.

    grid():以类似表格的方式组织,类似excel电子表格.

    place():在父组件的指定位置放置子组件,这个方式应该是你想要的效果.

示例:

import Tkinter     

top = Tkinter.Tk() 

#:建一个canvas,和一个Label

C = Tkinter.Canvas(top, bg="blue", height=300, width=300)

label = Tkinter.Label(C, text='hello' )

#将Label放置到坐上点在Canvas的纵横30%的处

label.place( height=100, width=100,relx= 0.3, rely=0.3)

C.pack()

top.mainloop()