91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何使用 Tkinter Grid布局管理器

發布時間:2020-09-24 10:07:19 來源:億速云 閱讀:194 作者:Leah 欄目:編程語言

Python如何使用 Tkinter Grid布局管理器?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

很多時候 Tkinter 界面編程都會優先考慮使用 Pack 布局,但實際上 Tkinter 后來引入的 Grid 布局不僅簡單易用,而且管理組件也非常方便。

Grid 把組件空間分解成一個網格進行維護,即按照行、列的方式排列組件,組件位置由其所在的行號和列號決定,行號相同而列號不同的幾個組件會被依次上下排列,列號相同而行號不同的幾個組件會被依次左右排列。

使用 Grid 布局的過程就是為各個組件指定行號和列號的過程,不需要為每個網格都指定大小,Grid 布局會自動為它們設置合適的大小。

程序調用組件的 grid() 方法就進行 Grid 布局,在調用 grid() 方法時可傳入多個選項,該方法支持的 ipadx、ipady、padx、pady 與 pack() 方法的這些選項相同。而 grid() 方法額外增加了如下選項:

column:指定將組件放入哪列。第一列的索引為 0。

columnspan:指定組件橫跨多少列。

row:指定組件放入哪行。第一行的索引為 0

rowspan:指定組件橫跨多少行。

sticky:有點類似于 pack() 方法的 anchor 選項,同樣支持 N(北,代表上)、E(東,代表右)、S(南,代表下)、W(西,代表左)、NW(西北,代表左上)、NE(東北,代表右上)、SW(西南,代表左下)、SE(東南,代表右下)、CENTER(中,默認值)這些值。

下面程序使用 Grid 布局來實現一個計算器界面:

# Python 2.x使用這行
#from Tkinter import *
# Python 3.x使用這行
from tkinter import *

class App:
    def __init__(self, master):
        self.master = master
        self.initWidgets()
    def initWidgets(self):
        # 創建一個輸入組件
        e = Entry(relief=SUNKEN, font=('Courier New', 24), width=25)
        # 對該輸入組件使用Pack布局,放在容器頂部
        e.pack(side=TOP, pady=10)
        p = Frame(self.master)
        p.pack(side=TOP)
        # 定義字符串的元組
        names = ("0" , "1" , "2" , "3"
            , "4" , "5" , "6" , "7" , "8" , "9"
            , "+" , "-" , "*" , "/" , ".", "=")
        # 遍歷字符串元組
        for i in range(len(names)):
            # 創建Button,將Button放入p組件中
            b = Button(p, text=names[i], font=('Verdana', 20), width=6)
            b.grid(row=i // 4, column=i % 4)
root = Tk()
root.title("Grid布局")
App(root)
root.mainloop()

上面程序實際上使用了兩個布局管理器進行嵌套,先使用 Pack 布局管理兩個組件,分貝是 Entry(輸入組件)和 Frame(容器),這兩個組件就會按照從上到下的方式排列。

接下來程序使用 Grid 布局管理 Frame 容器中的 16 個按鈕,分別將 16 個按鈕放入不同的行、不同的列。運行上面程序,可以看到如下圖所示的界面。

Python如何使用 Tkinter Grid布局管理器

看完上述內容,你們掌握Python如何使用 Tkinter Grid布局管理器的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安溪县| 乐陵市| 华安县| 西林县| 来宾市| 临澧县| 高密市| 习水县| 蓝田县| 招远市| 穆棱市| 泽库县| 凤山县| 潼关县| 枣阳市| 和硕县| 东海县| 疏勒县| 元氏县| 都昌县| 高州市| 梁河县| 塔城市| 区。| 高尔夫| 龙泉市| 崇义县| 盐城市| 淮阳县| 招远市| 长宁区| 托克托县| 龙井市| 朔州市| 山东| 兴义市| 长宁县| 静安区| 龙里县| 义乌市| 海丰县|