中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

贡山| 崇礼县| 溧水县| 林甸县| 达州市| 东山县| 株洲县| 登封市| 长汀县| 万载县| 固镇县| 武安市| 比如县| 措勤县| 曲阜市| 孟州市| 乌兰浩特市| 宣武区| 丰县| 淮安市| 华宁县| 绥棱县| 博乐市| 巨野县| 武胜县| 田林县| 军事| 公主岭市| 云和县| 阿巴嘎旗| 衡阳市| 无棣县| 南充市| 广东省| 浏阳市| 青田县| 东丰县| 福州市| 星子县| 邹平县| 江城|