Tkinter (21) 部件通用方法

Jason990420發表於2020-08-22
方法 說明
after(delay_ms, callback=None, *args) 在至少 delay_ms 後呼叫 callback, 無 callback, 等同 time.sleep(); 返回一個識別碼 id 供取消 after_cancel() 方法使用
after_cancel(id) 取消 after 方法呼叫的 callback
after_idle(func, *args) 類似 after 方法, 但在無事件 idle 時呼叫
bell() 嗶一聲
bind(sequence=None, func=None, add=None) 按事件繫結回撥函式, add ‘+’ 為增加函式, 無則取代原有的所有函式
bind_all(sequence=None, func=None, add=None) 繫結所有的部件, 其他如同 bind 方法一樣
bind_class(className, sequence=None, func=None, add=None) 繫結所有分類名的部件, 其他如同 bind 方法一樣
bindtags(tagList=None) 返回事件繫結的標籤字串的列表, 繫結標籤為視窗名或類別名; 可使用引數用來指定繫結的順序
cget(option) 返回部件選項的字串值, ​​也可以使用 widget[option]
clipboard_append(text) 文字貼到剪貼簿
clipboard_clear() 清空剪貼簿
columnconfigure(N, option=value, …) 設定column N 選項, 選項有
minsize - 點素的最小尺寸,在沒有部件時,仍然會不顯示.
pad - 對最大的格子提供額外的間距
weight - 延伸格子更多的空間,單位為1/4 尺寸
config(option=value, …) 同 configure() 方法
configure(option=value, …) 設定部件的各選項值, 也可以使用widget[option], 無引數將返回各選項引數的字典值, 字典的鍵名為各選項名, 包含所使用的別名. 鍵值的方式為選項標準名的5-tuple (選項標準名, 選項資料庫的鍵名, 選項資料庫的類別, 預設值, 現有值), 或選項別名的2-tuple (選項別名, 選項標準名)
destroy() 刪除該部件以及其所有的子部件
event_add(virtual, *sequences) 新增一個名為 virtual 字串值的虛擬事件, sequence 中為一串實際的事件, 任何一個實際的事件發生, 都會引發該虛擬事件
event_delete(virtual, *sequences) 在名為 virtual 字串值的虛擬事件中, 刪除 sequence 中, 會引發該虛擬事件的一串實際事件
event_generate(sequence, **kw) 產生一個事件, 相關的欄位值, 由 **kw 表示
event_info(virtual=None) 返回所有定義的虛擬事件名稱列表, 或某個特定虛擬事件名稱對應的所有實際事件名, 如果沒有則返回 None
focus_displayof() 返回聚焦的視窗名, 無則 None
focus_force() 設定聚焦在該部件
focus_get() 返回聚焦的部件, 無則為 None
focus_lastfor() 在部件所屬的頂層視窗中最後一個聚焦的部件名, 如果無則返回頂層視窗名, 如果應用中都沒有聚焦, 返回下次會聚焦的部件名
focus_set() 如果應用聚焦, 則設定聚焦在該部件, 否則, 下回應用聚焦時, 將聚焦在該部件
grab_current() If there is a grab in force for w’s display, return its identifier, otherwise return None
grab_release() If w has a grab in force, release it
grab_set() 部件抓取該應用中所有的事件. 如果有其他強迫的抓取, 將會消失
grab_set_global() 部件全域性抓取全螢幕的所有事件, 其他的抓取都會消失
grab_status() 如果強制執行本地抓取, 返回 “local”; 如果正在執行全域性抓取, 返回 “global”; 如果沒有有效的抓取, 則返回 None
grid_forget() 隱藏部件, 但其原有的 grid 選項會全部失去, grid() 會再度顯示部件
grid_propagate(arg) 延伸部件的大小,arg 內建為 1, 0 則不延伸
grid_remove() 隱藏部件, 但其原有的 grid 選項仍會保留, grid() 會再度顯示部件
image_names() 返回應用中所有圖片名的字串列表
keys() 返回部件所有選項名的字串列表
lift(aboveThis=None) 上移視窗到最頂層或某一視窗上一層
lower(belowThis=None) 下移視窗到最底層或某一視窗下一層
mainloop() 事件處理迴路, 在靜態部件創立後呼叫, 或在事件中呼叫以回到事件處理迴路, 呼叫 quit() 方法結束
nametowidget(name) 依部件的路徑名 name 返回部件, name 不存在會引起 KeyError
option_add(pattern, value, priority=None) 增加預設值到選項資料庫, 字串pattern 代表選項的預設值
20 - 部件泛內定屬性
40 - 特定應用的預值屬性
60 - 來自使用者設定檔案的屬性
80 - 應用起始才設定的屬性(預設的優先等級)
option_clear() 取消所有的選項設定值, 還原所有的選項到預設值
option_get(name, classname) 返回 classname 的 name 最適合選項值, 無則返回空字串
option_readfile(fileName, priority=None) 以選項設定檔案來設定選項值, 格式為 .Xdefaults, 檔案有誤將引起 tk.TclError
register(function) 返回包裝器名稱字串, 將 function 變作一個 Tcl 的包裝器
quit() 結束主迴路 mainloop
rowconfigure(N, option=value, …) 設定row N 選項, 選項有
minsize - 點素的最小尺寸,在沒有部件時,仍然會不顯示.
pad - 對最大的格子提供額外的間距
weight - 延伸格子更多的空間,單位為1/4 尺寸
selection_clear() 去除選擇
selection_get() 返回選擇的文字, 無選擇則 tk.TclError
selection_own() 另外設定螢幕上的選擇為部件所有
selection_own_get() 返回螢幕上的選擇所擁有的部件, 無選擇則 tk.TclError
tk_focusFollowsMo​​use() 依據滑鼠位置動態設定聚焦, 無法簡單地取消該動作
tk_focusNext() 返回下一個聚焦的部件
tk_focusPrev() 返回前一個聚焦的部件
unbind(sequence, funcid=None) 移除事件原有的 (某一個) 繫結
unbind_all(sequence) 移除事件所有原有的繫結
unbind_class(className, sequence) 移除某一類部件, 其事件所有原有的繫結
update() 更新螢幕, 不可在事件的回撥中呼叫
update_idletasks() 在事件處理結束後, 再回到事件等待迴路前所作的事, 以更新螢幕/部件為其主要內容
wait_variable(v) 本地等候部件的變數被設定, 不會阻塞應用程式的執行
wait_visibility(w) 等候直到部件 w 可見
wait_window(w) 等候直到視窗 w 被關閉為止
winfo_children() 返回最底層最上層的子部件列表
winfo_class() 返回部件的類別名
winfo_containing(rootX, rootY, displayof=0) 返回相對於應用根視窗(displayof=0) 或部件頂層視窗(displayof=True) 座標(rootX, rootY) 所指的視窗, 如果不在頂層視窗中, 返回None
winfo_depth() 返回代表點素的位元數目
winfo_fpixels(number) 尺寸轉換成浮點數的點素值
winfo_geometry() 返回部件的位置及尺寸, 在 update_idletasks() 方法後, 該值才會正確
winfo_height() 返回部件目前的高度點素
winfo_id() 返回部件在它頂層視窗的整數識別碼
winfo_ismapped() 是否部件已被配置在頂層視窗中, 其父部件也都已配置, 則為 True
winfo_manager() 返回部件配置管理器名稱, ‘grid’/‘pack’/‘place’/‘canvas’/‘text’, 無則為空字串
winfo_name() 返回相對於父部件的部件名
winfo_parent() 返回父部件的路徑名, 如果是頂層視窗則返回空字串
winfo_pathname(id, displayof=0) 返回應用主視窗 (displayof=0) 或頂層視窗 (displayof=True) 中, 具有標識碼 id 的部件視窗路徑名稱
winfo_pixels(number) 尺寸轉換成整數的點素值
winfo_pointerx() 返回相對於根部件中, 滑鼠座標的 x 座標, 如果不在同一螢幕, 返回 -1
winfo_pointerxy() 返回相對於根部件中, 滑鼠座標的 (x, y) 座標, 如果不在同一螢幕, 返回 (-1, -1)
winfo_pointery() 返回相對於根部件中, 滑鼠座標的 x 座標, 如果不在同一螢幕, 返回 -1
winfo_reqheight() 返回部件被要求的高度, 以維持部件成形
winfo_reqwidth() 返回部件被要求的寛度, 以維持部件成形
winfo_rgb(color) 返回顏色字串的 (r, g, b), rgb 值為 [0, 65535]
winfo_rootx() 返回部件根視窗左方, 外框外緣, 相對於父部件的 x 座標
winfo_rooty() 返回部件根視窗上方, 外框外緣, 相對於父部件的 y 座標
winfo_screenheight() 返回螢幕的高度點素
winfo_screenmmheight() 返回螢幕的高度毫米
winfo_screenmmwidth() 返回螢幕的寛度毫米
winfo_screenvisual() 返回螢幕顏色的生成方法的字串, ‘truecolor’ (16/24位元顏色), ‘pseudocolor’ (256顏色)
winfo_screenwidth() 返回螢幕的寛度點素
winfo_toplevel() 返回部件的頂層視窗
winfo_viewable() 部件是否可見
winfo_width() 返回部件目前的寛度點素
winfo_x() 返回部件左方, 外框外緣, 相對於父部件的 x 座標
winfo_y() 返回部件上方, 外框外緣, 相對於父部件的 y 座標

範例視窗及程式碼 (略)

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Jason Yang

相關文章