编程就是一个人喜好的升华!在编程的世界有什么不能实现的?


选择哪种布局方式,完全取决于自个儿的喜好。当然了,喜好尝试“新奇”玩意的我们,会玩出更多花样,这也许就是编程的乐趣吧。


请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习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开发一些程序还是很不多的选择的。



小朋友们不要忘记关注我们哟 ,下期课程更精彩,请大家一起期待吧~


快乐编程,快乐成长,拜拜!


分享到:


相關文章: