🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 窗口尺寸 设置窗口的宽高: ``` 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 命令直接关闭窗口,不会传递给窗口管理器处理,因此不会重复触发上述命令。