Python-Tk(根窗口)和 Toplevel(顶级窗口)的方法汇总

下边这一系列方法用于与窗口管理器进行交互。他们可以被 Tk(根窗口)进行调用,同样也适用于 Toplevel(顶级窗口)。

注:并非所有操作系统均完全支持下方所有方法的实现。

aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)
-- 控制该窗口的宽高比(width:height)
-- 宽高比限制在:minNumer / minDenom ~ maxNumer / maxDenom
-- 如果忽略参数,则返回一个 4 元组表示当前的限制(如果有的话)

attributes(*args)
-- 设置和获取窗口属性
-- 如果你只给出选项名,将返回当前窗口该选项的值
-- 注意:以下选项不支持关键字参数,你需要在选项前添加横杠(-)并用字符串的方式表示,用逗号(,)隔开选项和值。
-- 例如你希望设置窗口的透明度为 50%,你应该使用 attribute("-alpha", 0.5) 代替 attribute(alpha=0.5)
-- 下方表格列举了 args 可以使用各个选项的具体含义及用法:

选项 含义
alpha 1.(Windows,Mac)控制窗口的透明度

  1. 1.0 表示不透明,0.0 表示完全透明
  2. 该选项并不支持所有的系统,对于不支持的系统,Tkinter 绘制一个不透明(1.0)的窗口
    disabled (Windows)禁用整个窗口(这时候你只能从任务管理器中关闭它)
    fullscreen (Windows,Mac)如果设置为 True,则全屏显示窗口
    modified (Mac)如果设置为 True,该窗口被标记为改动过
    titlepath (Mac)设置窗口代理图标的路径
    toolwindow (Windows)如果设置为 True,该窗口采用工具窗口的样式
    topmost (Windows,Mac)如果设置为 True,该窗口将永远置于顶层
    client(name=None)
    -- 设置和获取 WM_CLIENT_MACHINE 属性
    -- 如果要删除 WM_CLIENT_MACHINE 属性,赋值为空字符串即可
    -- 该属性仅支持 X 窗口系统的窗口管理器,其他系统均忽略

colormapwindows(*wlist)
-- 设置和获取 WM_COLORMAP_WINDOWS 属性
-- 该属性仅支持 X 窗口系统的窗口管理器,其他系统均忽略

command(value=None)
-- 设置和获取 WM_COMMAND 属性
-- 该属性仅支持 X 窗口系统的窗口管理器,其他系统均忽略

deiconify()
-- 显示窗口
-- 默认情况下新创建的窗口都会显示在屏幕上,但使用 iconify() 或 withdraw() 方法可以在屏幕上移除窗口

focusmodel(model=None)
-- 设置和获取焦点模式

frame()
-- 返回一个字符串表示当前系统特征
-- 对于类 Unix 系统,返回值是 X 窗口标识符
-- 对于 Windows 系统,返回值是 HWND 强制转换为长整形的结果

geometry(geometry=None)
-- 设置和获取窗口的尺寸
-- geometry 参数的格式为:"%dx%d%+d%+d" % (width, height, xoffset, yoffset)

grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)
-- 通知窗口管理器该窗口将以网格的形式重新调整尺寸
-- baseWidth 和 baseHeight 指定 Tk_GeometryRequest 要求的网格单元数
-- widthInc 和 heightInc 指定网格单元的宽度和高度(像素)

group(window=None)
-- 将窗口添加到窗口群中
-- window 参数指定控制窗口群的主窗口
-- 如果忽略该参数,将返回当前窗口群的主窗口

iconbitmap(bitmap=None, default=None)
-- 设置和获取窗口的图标
-- 例如 root.iconbitmap(bitmap="Python.ico")
-- default 参数可以用于指定由该窗口创建的子窗口的默认图标

iconify()
-- 将窗口图标化(最小化)
-- 需要重新显示窗口,使用 deiconify() 方法
-- 该方法会使得 state() 返回 "iconic"

iconmask(bitmap=None)
-- 设置和获取位图掩码

iconname(newName=None)
-- 设置和获取当窗口图标化(最小化)时的图标名字

iconposition(x=None, y=None)
-- 设置和获取当窗口图标化(最小化)时的图标位置

iconwindow(pathName=None)
-- 设置和获取当窗口图标化(最小化)时的组件窗口
-- 该方法会使得 state() 返回 "icon"

maxsize(width=None, height=None)
-- 设置和获取该窗口的最大尺寸

minsize(width=None, height=None)
-- 设置和获取该窗口的最小尺寸

overrideredirect(boolean=None)
-- 如果参数为 True,该窗口忽略所有的小部件(也就是说该窗口将没有传统的标题栏、边框等部件)

positionfrom(who=None)
-- 指定窗口位置由“谁”决定
-- 如果 who 参数是 "user",窗口位置由用户决定
-- 如果 who 参数是 "program",窗口位置由系统决定

protocol(name=None, func=None)
-- 将回调函数 func 与相应的规则 name 绑定
-- name 参数可以是 "WM_DELETE_WINDOW":窗口被关闭的时候
-- name 参数可以是 "WM_SAVE_YOURSELF":窗口被保存的时候
-- name 参数可以是 "WM_TAKE_FOCUS":窗口获得焦点的时候

resizable(width=None, height=None)
-- 指定是否可以改变该窗口的尺寸
-- width 为 True 说明允许调整窗口的水平尺寸
-- height 为 True 说明允许调整窗口的垂直尺寸

sizefrom(who=None)
-- 指定窗口尺寸由“谁”决定
-- 如果 who 参数是 "user",窗口位置由用户决定
-- 如果 who 参数是 "program",窗口位置由系统决定

state(newstate=None)
-- 设置和获得当前窗口的状态
-- newstate 的值可以是 "normal","iconic"(见 iconify),"withdrawn"(见 withdraw),"icon"(见 iconwindow)和 "zoomed"(放大,Windows 特有)

title(string=None)
-- 设置窗口的标题

transient(master=None)
-- 指定为 master 的临时窗口

withdraw()
-- 将窗口从屏幕上移除(并没有销毁)
-- 需要重新显示窗口,使用 deiconify() 方法
-- 该方法会使得 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()

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容