选择哪种布局方式,完全取决于自个儿的喜好。当然了,喜好尝试“新奇”玩意的我们,会玩出更多花样,这也许就是编程的乐趣吧。
请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Python编程知识,变身快乐的编程达人吧~
欢迎来到木辛老师的Python和Tkinter编程课堂。从今天开始,木辛老师会不定期发出有关Tkinter的图文学习课程,欢迎大家收看。
话说上节课,咱们讲到了Tkinter的3种主要的布局管理器。然鹅,第三种“place”方式几乎不被人提及,被使用最多的当属pack和grid方式。
那么,在开发Tkinter应用的时候,是选择pack方式还是grid方式呢?
其实吧,使用哪种布局方式完全取决于你的心情,他们俩都是可以实现你期望的效果的。只是某些时候,实现起来顺手和不顺手的区别。
但是pack方式编码更加合乎”人情“。因为它一般使用”left“、”right“或者”top“这种词定位控件的位置,所以呀,程序员在使用的时候会倍感亲切。
谁都喜欢“发号施令”,想让你去哪就去哪,编程世界就是这么“迷幻”,要不然怎么那么多人都沉迷编程呢!(纯属开玩笑哈!大家乐呵乐呵就忘了这茬吧。)
当使用pack方式的时候,为了更好地布局,窗口会被分隔成很多部分。当指定了”上“、”下“、”左“、”右“、”中“之后,我们就可以很方便对每一个部分就行布局和修改控制。
这样可以防止很多意想不到的情况,比如说改变了某一个区域的控件的尺寸大小什么的。
最后,你可以能想问,使用pack方式的话,如果在同一个区域防止多个控件会出现怎样的情况?
这个啊,你不用太担心,tk已经帮你解决了。
它会按照控件添加的顺序依次显示,都会乖乖的排排队,绝对不会发生加塞的情况。
也就是说,如果新来乍到的控件碰到驻扎这里好久的”老兵“,都会按照pack的规定自动找到自己的位置,而不会乱窜。
相反的如果你使用grid的方式,就不得不修改一下定位的参数。
但是(这里是720度转折......)。
如果你不希望后来的控件追着旧控件屁股后边呢?pack就不行了!
当然了这里并不是否定哪种方式,而是要说明不同的布局方式,对不同的修改有自己的策略,大家接受就好了。
每种布局都有自己的优势和劣势。
比如grid有个很”牛“的特长,就是你在布局控件的时候根本不需要先将窗口分隔成多个区域,然后再定位。
只需要简单的指定子控件的”坐标“就可以。
所以,使用grid方式,有时候你可以节省非常多的代码(哇!对于”懒惰“的程序员,是不是一个非常惊喜的消息)。
刚才讲到,如果你不希望后来的控件老是跟着”老兵“屁股后边,使用pack方式实现起来是不是太头疼呢?
但是,使用grid方式就可以很方便的实现。那grid是怎么实现的呢?
grid会按照你指定的”坐标(行和列的值)“,固定控件到具体 的位置。
这样,新到的控件拍到”老兵“屁股后边、左边、右边、头上,是不是都可以实现了!
所以,用你喜欢的!如果你比较”懒惰“就使用实现这个需求最简单的!不要想别的了,”要什么自行车呢!“
如果这两种方式都不能很好的解决需求呢?
这个问题问的非常好!
一种方式解决不了,那就两种一起使用。一般情况下,针对主窗口的整体布局,可以考虑使用pack方式;对于特别细节的地方,使用grid方式效果可能会更好。
好吧,今天的课程就到这里了。
我们今天认识了也许是Python自带的最轻量级的GUI库,随着咱们学习的深入,你会发现,使用Tk开发一些程序还是很不多的选择的。
小朋友们不要忘记关注我们哟 ,下期课程更精彩,请大家一起期待吧~
快乐编程,快乐成长,拜拜!
閱讀更多 木辛老師帶你玩轉編程 的文章