Python Tkinter 教學

Author: Kelvin Huang

tkinter 套件( Tk 介面 )是 Tcl/Tk GUI 工具集的標準 Python 介面。

從命令列執行 python -m tkinter 將開啟一個展示簡單 Tk 介面的視窗,並且也會顯示已安裝的 Tcl/Tk 版本。

 

Tkinter 支援一系列的 Tcl/Tk 版本,這些版本可以是有或沒有執行緒支援的建構版本。官方的 Python 二進位發行版捆綁了有執行緒支援的 Tcl/Tk 8.6。關於支援版本的更多資訊,請參閱 _tkinter 模組的原始碼。

Tkinter 加入了相當多自身的邏輯,使其體驗更具 Python 風格

官方文件[ https://docs.python.org/zh-tw/3.13/library/tkinter.html ]

本教學的原始碼 [ https://github.com/cgcomtw/Python-Tkinter.git ]

 

 

限制視窗放大縮小的範圍,可使用 root.minsize 與 root.maxsize 設定視窗的寬度高度。

 

使用 Pillow 模組

 

使用 tk.Button 製作按鈕

執行結果:

 

使用 tk.Frame 與 pack ( ) 進行版面配置的範例,建立三個區塊(上、中、下),示範 pack ( ) 的 side、fill、expand 用法。

Frame 是容器,用來分區。

side="top" / "bottom" 控制擺放方向。

fill="x" 代表橫向填滿,fill="both" 代表橫向與縱向都填滿。

expand=True 讓該區塊可隨視窗大小自動擴展。

當使用者對視窗進行縮放時,上方區塊與下方區塊將保持固定的高度,而中間區塊會自動伸展。

 

[ https://github.com/cgcomtw/Python-Tkinter/blob/main/grid ]

grid(row, column) 讓元件放在指定的格子。

sticky="nsew" 代表填滿整個格子(上、下、左、右)。

grid_rowconfigure / grid_columnconfigure 搭配 weight=1,讓格子隨著視窗拉伸而調整大小。

 

暫時使用 PySide6 製作

[ https://github.com/cgcomtw/Python-PySide6/ ]

[ https://github.com/cgcomtw/Python-PySide6/blob/main/window ]

 

 

 

Copyright © 2025 CG Digital Corp. All rights reserved.