Python-Tk(根窗口)和 Toplevel(頂級(jí)窗口)的方法匯總

下邊這一系列方法用于與窗口管理器進(jìn)行交互。他們可以被 Tk(根窗口)進(jìn)行調(diào)用,同樣也適用于 Toplevel(頂級(jí)窗口)。

注:并非所有操作系統(tǒng)均完全支持下方所有方法的實(shí)現(xiàn)。

aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)
-- 控制該窗口的寬高比(width:height)
-- 寬高比限制在:minNumer / minDenom ~ maxNumer / maxDenom
-- 如果忽略參數(shù),則返回一個(gè) 4 元組表示當(dāng)前的限制(如果有的話)

attributes(*args)
-- 設(shè)置和獲取窗口屬性
-- 如果你只給出選項(xiàng)名,將返回當(dāng)前窗口該選項(xiàng)的值
-- 注意:以下選項(xiàng)不支持關(guān)鍵字參數(shù),你需要在選項(xiàng)前添加橫杠(-)并用字符串的方式表示,用逗號(hào)(,)隔開選項(xiàng)和值。
-- 例如你希望設(shè)置窗口的透明度為 50%,你應(yīng)該使用 attribute("-alpha", 0.5) 代替 attribute(alpha=0.5)
-- 下方表格列舉了 args 可以使用各個(gè)選項(xiàng)的具體含義及用法:

選項(xiàng) 含義
alpha 1.(Windows,Mac)控制窗口的透明度

  1. 1.0 表示不透明,0.0 表示完全透明
  2. 該選項(xiàng)并不支持所有的系統(tǒng),對(duì)于不支持的系統(tǒng),Tkinter 繪制一個(gè)不透明(1.0)的窗口
    disabled (Windows)禁用整個(gè)窗口(這時(shí)候你只能從任務(wù)管理器中關(guān)閉它)
    fullscreen (Windows,Mac)如果設(shè)置為 True,則全屏顯示窗口
    modified (Mac)如果設(shè)置為 True,該窗口被標(biāo)記為改動(dòng)過(guò)
    titlepath (Mac)設(shè)置窗口代理圖標(biāo)的路徑
    toolwindow (Windows)如果設(shè)置為 True,該窗口采用工具窗口的樣式
    topmost (Windows,Mac)如果設(shè)置為 True,該窗口將永遠(yuǎn)置于頂層
    client(name=None)
    -- 設(shè)置和獲取 WM_CLIENT_MACHINE 屬性
    -- 如果要?jiǎng)h除 WM_CLIENT_MACHINE 屬性,賦值為空字符串即可
    -- 該屬性僅支持 X 窗口系統(tǒng)的窗口管理器,其他系統(tǒng)均忽略

colormapwindows(*wlist)
-- 設(shè)置和獲取 WM_COLORMAP_WINDOWS 屬性
-- 該屬性僅支持 X 窗口系統(tǒng)的窗口管理器,其他系統(tǒng)均忽略

command(value=None)
-- 設(shè)置和獲取 WM_COMMAND 屬性
-- 該屬性僅支持 X 窗口系統(tǒng)的窗口管理器,其他系統(tǒng)均忽略

deiconify()
-- 顯示窗口
-- 默認(rèn)情況下新創(chuàng)建的窗口都會(huì)顯示在屏幕上,但使用 iconify() 或 withdraw() 方法可以在屏幕上移除窗口

focusmodel(model=None)
-- 設(shè)置和獲取焦點(diǎn)模式

frame()
-- 返回一個(gè)字符串表示當(dāng)前系統(tǒng)特征
-- 對(duì)于類 Unix 系統(tǒng),返回值是 X 窗口標(biāo)識(shí)符
-- 對(duì)于 Windows 系統(tǒng),返回值是 HWND 強(qiáng)制轉(zhuǎn)換為長(zhǎng)整形的結(jié)果

geometry(geometry=None)
-- 設(shè)置和獲取窗口的尺寸
-- geometry 參數(shù)的格式為:"%dx%d%+d%+d" % (width, height, xoffset, yoffset)

grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)
-- 通知窗口管理器該窗口將以網(wǎng)格的形式重新調(diào)整尺寸
-- baseWidth 和 baseHeight 指定 Tk_GeometryRequest 要求的網(wǎng)格單元數(shù)
-- widthInc 和 heightInc 指定網(wǎng)格單元的寬度和高度(像素)

group(window=None)
-- 將窗口添加到窗口群中
-- window 參數(shù)指定控制窗口群的主窗口
-- 如果忽略該參數(shù),將返回當(dāng)前窗口群的主窗口

iconbitmap(bitmap=None, default=None)
-- 設(shè)置和獲取窗口的圖標(biāo)
-- 例如 root.iconbitmap(bitmap="Python.ico")
-- default 參數(shù)可以用于指定由該窗口創(chuàng)建的子窗口的默認(rèn)圖標(biāo)

iconify()
-- 將窗口圖標(biāo)化(最小化)
-- 需要重新顯示窗口,使用 deiconify() 方法
-- 該方法會(huì)使得 state() 返回 "iconic"

iconmask(bitmap=None)
-- 設(shè)置和獲取位圖掩碼

iconname(newName=None)
-- 設(shè)置和獲取當(dāng)窗口圖標(biāo)化(最小化)時(shí)的圖標(biāo)名字

iconposition(x=None, y=None)
-- 設(shè)置和獲取當(dāng)窗口圖標(biāo)化(最小化)時(shí)的圖標(biāo)位置

iconwindow(pathName=None)
-- 設(shè)置和獲取當(dāng)窗口圖標(biāo)化(最小化)時(shí)的組件窗口
-- 該方法會(huì)使得 state() 返回 "icon"

maxsize(width=None, height=None)
-- 設(shè)置和獲取該窗口的最大尺寸

minsize(width=None, height=None)
-- 設(shè)置和獲取該窗口的最小尺寸

overrideredirect(boolean=None)
-- 如果參數(shù)為 True,該窗口忽略所有的小部件(也就是說(shuō)該窗口將沒有傳統(tǒng)的標(biāo)題欄、邊框等部件)

positionfrom(who=None)
-- 指定窗口位置由“誰(shuí)”決定
-- 如果 who 參數(shù)是 "user",窗口位置由用戶決定
-- 如果 who 參數(shù)是 "program",窗口位置由系統(tǒng)決定

protocol(name=None, func=None)
-- 將回調(diào)函數(shù) func 與相應(yīng)的規(guī)則 name 綁定
-- name 參數(shù)可以是 "WM_DELETE_WINDOW":窗口被關(guān)閉的時(shí)候
-- name 參數(shù)可以是 "WM_SAVE_YOURSELF":窗口被保存的時(shí)候
-- name 參數(shù)可以是 "WM_TAKE_FOCUS":窗口獲得焦點(diǎn)的時(shí)候

resizable(width=None, height=None)
-- 指定是否可以改變?cè)摯翱诘某叽?br> -- width 為 True 說(shuō)明允許調(diào)整窗口的水平尺寸
-- height 為 True 說(shuō)明允許調(diào)整窗口的垂直尺寸

sizefrom(who=None)
-- 指定窗口尺寸由“誰(shuí)”決定
-- 如果 who 參數(shù)是 "user",窗口位置由用戶決定
-- 如果 who 參數(shù)是 "program",窗口位置由系統(tǒng)決定

state(newstate=None)
-- 設(shè)置和獲得當(dāng)前窗口的狀態(tài)
-- newstate 的值可以是 "normal","iconic"(見 iconify),"withdrawn"(見 withdraw),"icon"(見 iconwindow)和 "zoomed"(放大,Windows 特有)

title(string=None)
-- 設(shè)置窗口的標(biāo)題

transient(master=None)
-- 指定為 master 的臨時(shí)窗口

withdraw()
-- 將窗口從屏幕上移除(并沒有銷毀)
-- 需要重新顯示窗口,使用 deiconify() 方法
-- 該方法會(huì)使得 state() 返回 "withdrawn"

wm_aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)
-- 見上方 aspect()

wm_attributes(*args)
-- 見上方 attributes()

wm_client(name=None)
-- 見上方 client()

wm_colormapwindows(*wlist)
-- 見上方 colormapwindows()

wm_command(value=None)
-- 見上方 command()

wm_deiconify()
-- 見上方 deiconify()

wm_focusmodel(model=None)
-- 見上方 focusmodel()

wm_frame()
-- 見上方 frame()

wm_geometry(geometry=None)
-- 見上方 geometry()

wm_grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)
-- 見上方 grid()

wm_group(window=None)
-- 見上方 group()

wm_iconbitmap(bitmap=None, default=None)
-- 見上方 iconbitmap()

wm_iconify()
-- 見上方 iconify()

wm_iconmask(bitmap=None)
-- 見上方 iconmask()

wm_iconname(newName=None)
-- 見上方 iconname()

wm_iconposition(x=None, y=None)
-- 見上方 iconposition()

wm_iconwindow(pathName=None)
-- 見上方 iconwindow()

wm_maxsize(width=None, height=None)
-- 見上方 maxsize()

wm_minsize(width=None, height=None)
-- 見上方 minsize()

wm_overrideredirect(boolean=None)
-- 見上方 overrideredirect()

wm_positionfrom(who=None)
-- 見上方 positionfrom()

wm_protocol(name=None, func=None)
-- 見上方 protocol()

wm_resizable(width=None, height=None)
-- 見上方 resizable()

wm_sizefrom(who=None)
-- 見上方 sizefrom()

wm_state(newstate=None)
-- 見上方 state()

wm_title(string=None)
-- 見上方 title()

wm_transient(master=None)
-- 見上方 transient()

wm_withdraw()
-- 見上方 withdraw()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容