任何界面都有自己的布局风格,有些是横向布局,有些是纵向布局,有些是流水布局,还有些是网格布局,总之布局就是一种考虑如何放置元素或者组件的一种说明方式。
thinter中使用pack进行包裹布局。
widgets.pack(pack_options) 这个是函数原型,pack_options有三个常用属性,分别是expand ,fill,side这三个属性
tkinter还有一种布局叫做grid布局,就是我们常说的网格布局。
grid有4个可选参数,分别是row,rowspan,column,columnspan,sticky
坐标布局使用place进行元素的位置放置,它有x,y两参数,可以用来指定距离父组件的左上角的横坐标距离和纵坐标距离。
可以说相对其它布局,它是最灵活的,也是最精准的,只要给出x,y我们可以精确的放置到任何想要的位置,但是因为需要计算距离,所以相对来说也更麻烦一些。
tkinter为我们提供了三种布局,可以说每种布局都有自己的特点,pack相对用户来说不需要做过多操作就可以自动元素排列,适合于粗狂的布局,也就是整体布局。
grid布局相对来说有板有眼,适合那种规规矩矩的布局,类似于磁铁布局。
place布局适合那种对细节要求严丝合缝的场合。
三种布局不是孤立的,但是grid和pack不要同时使用。它们两个可以分别和place配合使用。
正式有了布局系统的存在,我们才可以设计出任何我们想要的排版,可以说只有弄清楚了布局系统,才算是对tkinter入门了。