窗口尺寸:
设置窗口的宽高:
wm geometry .window 300x200
恢复窗口到其自然尺寸:
wm geometry .window {}
设置窗口最大最小尺寸
wm minsize .window 100 50
wm maxsize .window 400 150
宽度范围100~400像素,高度范围50~150像素
设置窗口是否尺寸可调:
wm resizable .window 0 1
0 :尺寸不可调 1:尺寸可调
限制宽高比范围:
wm aspect .window 1 3 4 1
告诉窗口管理器不允许用户将窗口的宽高比设置为小于1/3或大于4。
窗口位置:
设置窗口相对显示器的位置:
wm geometry .window 100x200+300+400
设置宽高为100x200,窗口左上角相对为显示器上坐标为(300,400)的店。如果两个‘+’的任何一个改成‘-’,则相对显示器的右下角开始。
窗口状态:
命令wm withdraw .window将一个窗口至于关闭状态。如果在窗口显示在屏幕上之前调用了该命令,窗口便会从关闭状态开始。这条命令最常见的用途是组织一个用程序的主窗口显示在屏幕上(在一些应用程序中中,主窗口没有任何作用,用户界面是由顶层窗口给出的)。一旦窗口退出,他可以用wm deiconify 或wm iconify返回屏幕。
图标化窗口:
wm iconify .window
查询窗口的状态;
wm state .window
=>iconic
装饰:
设置窗口标题:
wm title .window "you window title"
设置窗口图标:
wm iconbitmap . -defualt $iconpath
设定所有的窗口图标都为 $iconpath所指定的图标。
wm iconbitmap . $iconpath
只设定当前窗口图标为 $iconpath所指定的图标。
一般 $iconpath 只支持.ico格式的图像。
针对系统的窗口属性:
wm attributes window ?attribute? ?value attribute value ...?
设置窗口最大化:
-fullscreen boolean
例如:
wm attributes .window -fullscreen true
wm attributes .window -fullscreen false
设置窗口总是在最前端:
-topmost boolean
控制窗口的透明度:
-alpha number
其中alpha范围为0.0(透明)到1.0(不透明)
设置为无效状态:
-disabled boolean
设置工具窗口样式:
-toolwindow boolean
指定透明色:
-transparentcolor -color
如果指定为空字符串(默认),则不使用任何透明色。
关闭窗口:
destroy .window
或者在用户按下框架上的关闭按钮时,由窗口管理器来关闭。可以用wm protocol截获关闭命令。相当于产生一个窗口关闭事件,由wm protocol截获进行处理。
例如:
wm protocol .window WM_DELETE_WINDOW {
set response [tk_messageBox -type yesno -message "Really quit?"]
if {$response eq "yes"} {
destroy .window
}
}
上述代码在窗口管理器关闭窗口时调用,弹出确认窗口,如下
如果点击“是”,命令返回字符串“yes”(否则返回“no”),则关闭窗口。
注意,destroy .window 命令直接关闭窗口,不会传递给窗口管理器处理,因此不会重复触发上述命令。