一、常用參數
| 語法 | 作用 |
|---|---|
| window= tk.TK() | 創建窗口 |
| window['height'] = 300 | 設置高 |
| window['width'] = 500 | 設置寬 |
| window.title('魔方小站') | 設置標題 |
| window['bg'] = '#0099ff' | 設置背景色 |
| window.geometry("500x300+120+100") | 設置窗口大小,+120指窗口距離左屏幕的距離 |
| window.option_add('*Font', 'Fira 10') | 設置全局字體 |
| window.resizable(width=False,height=True) | root.resizable(0,1) | 禁止窗口調整大小 |
| window.minsize(300,600) | 窗口可調整的最小值 |
| window.maxsize(600,1200) | 窗口可調整的最大值 |
| window.attributes("-toolwindow", 1) | 工具欄樣式 |
| window.attributes("-topmost", -1) | 置頂窗口 |
| window.state("zoomed") | 窗口最大化 |
| window.iconify() | 窗口最小化 |
| window.deiconify() | 還原窗口 |
| window.attributes("-alpha",1) | 窗口透明化,透明度從 0-1,1 是不透明,0 是全透明 |
| window.destroy() | 關閉窗口 |
| window.iconbitmap("./image/icon.ico") | 設置窗口圖標 |
| screenWidth = window.winfo_screenwidth() screenHeight = window.winfo_screenheight() |
獲取屏幕寬高 |
| window.protocol("WM_DELETE_WINDOW", call) | 當窗口關閉時,執行call函數 |
| window.mainloop() | 主窗口循環更新 |
窗口attributes參數說明:
| 參數 | 作用 |
|---|---|
| alpha | 1.(Windows,Mac)控制窗口的透明度 2. 1.0 表示不透明,0.0 表示完全透明 3. 該選項並不支持所有的系統,對於不支持的系統,Tkinter 繪制一個不透明(1.0)的窗口 |
| disabled | (Windows)禁用整個窗口(這時候你只能從任務管理器中關閉它) |
| fullscreen | (Windows,Mac)如果設置為 True,則全屏顯示窗口 |
| modified | (Mac)如果設置為 True,該窗口被標記為改動過 |
| titlepath | (Mac)設置窗口代理圖標的路徑 |
| toolwindow | (Windows)如果設置為 True,該窗口采用工具窗口的樣式 |
| topmost | (Windows,Mac)如果設置為 True,該窗口將永遠置於頂層 |
二、代碼示例
import tkinter as tk
# 創建窗體
window = tk.Tk()
def call():
global window
window.destroy()
def main():
global window
# 設置主窗體大小
winWidth = 600
winHeight = 400
# 獲取屏幕分辨率
screenWidth = window.winfo_screenwidth()
screenHeight = window.winfo_screenheight()
# 計算主窗口在屏幕上的坐標
x = int((screenWidth - winWidth)/ 2)
y = int((screenHeight - winHeight) / 2)
# 設置主窗口標題
window.title("主窗體參數說明")
# 設置主窗口大小
window.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))
# 設置窗口寬高固定
window.resizable(0,0)
# 設置窗口圖標
window.iconbitmap("./image/icon.ico")
# 設置窗口頂部樣式
window.attributes("-toolwindow", 0)
# 設置窗口透明度
window.attributes("-alpha",1)
#獲取當前窗口狀態
print(window.state())
window.protocol("WM_DELETE_WINDOW", call)
#循環更新
window.mainloop()
if __name__ == "__main__":
main()
三、效果圖

