Python之tkinter布局管理器(grid、place、pack)

? ? ? ?本人是python初學(xué)者,在學(xué)習(xí)tkinter圖形化編程時(shí),發(fā)現(xiàn)各站的教程對于布局管理器沒深入講解。特查閱資料進(jìn)行總結(jié),不少博客文章和視頻中講解的三種布局管理方法有些許錯(cuò)誤,我自己特意測試,總結(jié)出下列內(nèi)容,里面有一些概念是我自己加的,便于自己看筆記的時(shí)候理解,希望可以幫助和我一樣的各位初學(xué)者。
? ? ? ?雖說是親自測試得出的結(jié)論,其中這三種布局方式的? in_? 屬性我不知道用法,所以沒有測試,只是找了個(gè)還算靠譜的帖子復(fù)制而來。以下內(nèi)容是干貨:
概述
? ? ? ? 一個(gè)帶圖形的程序,會(huì)有很多花里胡哨的按鈕、標(biāo)簽、圖標(biāo)什么的,但都會(huì)乖乖的待在讓人舒服的地方,這是怎么做到的呢?其實(shí)是通過布局管理實(shí)現(xiàn)的。
? ? ? ? tkinter是python自帶的基礎(chǔ)圖形化編程庫,包含3布局管理方式:pack、grid、place,這三種方式同樣適用于被美化過的第三方庫?ttkbootstrap。
grid(**options)
grid表格布局,采用表格結(jié)構(gòu)組織組件
子組件的位置由行和列的單元格來確定,并且可以跨行和跨列,從而實(shí)現(xiàn)復(fù)雜的布局

place(**options)
place可以通過坐標(biāo)精確控制組件的位置,還可設(shè)置組件大小,適用于一些布局更加靈活的場景


pack(**options)
pack按照組件的創(chuàng)建順序?qū)⒆咏M件添加到父組件中,按照垂直或者水平的方向自然排布
如果不指定任何選項(xiàng),默認(rèn)在父組件中自頂向下垂直添加組件


本人是初學(xué)者,如有錯(cuò)誤和補(bǔ)充,歡迎各位大佬在評論區(qū)指出,謝謝!