TK WM参数学习(tkinter)1

来源:互联网 发布:软件外包公司管理制度 编辑:程序博客网 时间:2024/06/07 07:00

Wm命令用于与窗口管理器进行交互,为了控制一些事情比如窗口的标题、大小或者一些改变、调整。Wm命令采取多种不同的形式,取决于option参数。所有的形式期望至少有一个额外的参数,windows,它必须是一个top-level窗口开始的路径名。合法形式的wm命令如下:

Wmaspect window? minNumer minDenom maxNumer maxDenom?

如果四个参数都指定,然后他们将会传递给窗口管理器,窗口管理器使用他们来强制window可接受的长宽比。长宽比将会被限制在minNumer/minDenommaxNumer/maxDenom之间。如果4各参数都是空的字符串,那么存在的长宽比的限制就会清除。如果参数都指定,命令返回一个空的字符串;否则,返回一个TCL列表包含当前窗口的4各参数值。

 

Wm attributes window

Wmattributes window? Option?

Wm attributes window? Option value optionvalue…?

这个命令返回或者设置窗口的特殊属性。第一种形式返回平台属性的一个列表,包含特殊的属性和他们对应的值。第二种形式返回指定选项参数的值。第三种形式设置一个或者多个属性的值。这些值如下:

所有平台都支持以下:

-alpha

指定顶层窗口的透明度。它接收的值从0(完全透明)到1(不透明)。在此范围之外的值将受限。-alpha值默认1.0.

-fullscreen

设置串口的模式为占据整个屏幕,没有文件夹,覆盖一般的使用区域(例如:windows下的开始菜单和工具栏),bool类型.

-topmost

指定是否是一个永远最前的窗口(显示在所有其他的窗口的最上层)

在windows下,以下熟悉支持:

-disabled

指定窗口是否是一个不可用的状态,任何控件都不能操作。

-toolwindow

指定是一个toolwindow形式的窗口(MSDN中定义的一样),具体定义没仔细查,形式上看到的是没有最大化最小化和标题。

-transparentcolor

指定顶层窗口的穿透颜色,接收tk_getcolor中定义的颜色。如果空字符串指定,没有穿透的颜色被使用。这个属性支持windows2000/xp+.

 

Wmclient window? Name?

如果name参数指定,这个命令将name参数对应的字符串存储为window的WM_CLIENT_MATHINE属性,由窗口管理器或者回话管理器使用。在这种情况下这个命令返回一条空字符串。如果name参数没有指定,这个命令返回最后设置的name值。如果name参数指定为一条空字符串,这个命令删除WM_CLIENT_MACHINE属性。

 

Wmcolormapwindows window? windowList?

这条命令用来操作WM_COLORMAP_WINDOWS属性,它为窗口管理器提供有关有私有颜色表窗口的信息。如果windowList没有指定,这条命令返回一个列表,列表里的元素是WM_COLORMAP_WINDOWS属性里的窗口的名字。如果windowList指定,它是一系列窗口路径名组成的一个列表,这条命令将WM_COLORMAP_WINDOWS属性重新设置为给定参数包含的窗口名并且返回一条空字符串。WM_COLORMAP_WINDOWS属性正常情况下包含一个由与父窗口颜色表不同的内部窗口组成的列表。

这个属性中窗口的顺序指示了一个优先级顺序:当窗口获取了colormap焦点,窗口管理器将从列表的头部开始尝试安装尽可能多的colormaps。如果window没有被包含在windowList中,TK会明确的将它添加到WM_COLORMAP_WINDOWS属性的尾部,所以它的colormap优先级是最低的。如果wm colormapwindows没有被调用,TK将为每个顶层窗口自动设置为那些与父窗口colormaps不相同的内部窗口;内部窗口的顺序没有定义。阅读ICCCM文档获取更多关于WM_COLORMAP_WINDOWS属性的信息。

 

Wm command window? Value?

如果value的值指定,这个命令将value的值存储到window的WM_COMMAND属性中,由窗口管理器和会话管理器使用并返回一个空字符串。Value用于正确的列表结构;元素应当包含用于调用应用的命令的词。如果value没有指定那么该命令返回最后一次设置wm command的值。如果value指定为一个空字符串,该命令从window中删除WM_COMMAND属性值。

 

Wm deiconify window

为窗口显示在正常模式(非图形化)做准备。这个命令用于窗口的映射。如果窗口从来没有映射那么这条命令也不会映射窗口,但是它能确保当窗口首次映射时显示在de-iconified格式。在windows下,一个deiconified窗口也会显示并且被激活。返回一条空字符串。

 

Wm focusmodel window? Active | passive?

如果active或者passive参数传递给该命令,那么它指定了window的聚焦模式。这种情况下命令返回空字符串,如果没有参数传递,命令返回window当前的聚焦模式。

Active聚焦模式意味着window将为自己或者他的子窗口声明输入焦点,甚至有时当前焦点处于其他应用上。Passive意味着window从不为自己声明焦点,窗口管理器在合适的时间为window提供焦点。尽管如此,一旦焦点给予window或者它的一个子窗口,该应用可能在它的子窗口中重新分配焦点。焦点模式默认passive,并且TK focus命令采用passive模式用于聚焦。

 

Wm forget window

Window将不在屏幕上映射并且不再由wm管理。一旦不再由wm管理,由toplevel命令创建的窗口将会向frame一样被对待,尽管如此,-menu配置会被记住并且一旦挂件再次被管理时菜单将会重新显示。

 

Wm frame window

如果window被窗口管理器重新定义为一个装饰框,该命令返回平台指定的包含window的最外层框的窗口id。如果window没有被重新定义那么命令返回窗口管理器为window指定的窗口id。

 

Wm geometry window? newGeometry?

如果newGeometry参数指定,那么窗口的几何尺寸会改变同时返回一个空的字符串。否则返回当前的尺寸(最近一次通过人工或者wm geometry命令指定)。newGeometry的格式为“=widthxheight+/-x+/-y”,其中“=”、“widthxheight”、“+/-x+/-y”中任何部分都可以省略。Width和height为正整数指定期望的窗口尺寸。如果窗口是gridded那么尺寸指定为网格单位;否则指定的值以像素为单位。

X和y指定窗口在屏幕中期望的位置,以像素为单位。如果x前面是正号,指定的值表示屏幕的左边到窗口的左边的距离,如果是负数表示屏幕右边到窗口右边的距离;+y表示屏幕上方到窗口上边缘的距离,-y表示屏幕下方到窗口下边缘的距离。

如果newGeometry指定为一条空字符串那么任何存在的用户指定的window尺寸被取消,window将恢复尺寸由内部挂件决定的方案。

 

Wm grid window? baseWidth baseHigth widthIncheightInc?

该命令指名window作为一个网格窗口被管理。它也指定了网格单位和像素单位之间的关系。Basewidth和baseHigth指定网格单位与像素单位的对应关系。基于此种对应,widthInc和heigthInc指定了行、列中每个网格单位对应的像素单位个数。这四个值决定了一个窗口的大小,基于网格的宽和高为非负整数。TK将传递这个信息给窗口管理器;在人工调整时,窗口管理器会限制窗口的大小到这些可接受的值。

在人工调整大小时,窗口管理器将显示窗口当前的大小根据网格单位而不是像素。如果baseWidth等参数全部指定为空字符串,那么窗口将不在座位网格窗口被管理。如果baseWidth等参数指定那么返回值是一个空字符串。

否则返回值是一个Tcl列表包含4各当前值,如果window当前不是网格类型,那么返回空字符串。

 

Wmgroup window? pathname?

如果pathName指定,pathName相应的窗口作为一组相关窗口的头。窗口管理器使用这个信息,例如,当某一组窗口的头变为图表化,则全部组内窗口都不映射。Pathname可以指定为一个空字符串用来从一个组内删除window。如果pathName被指定那么命令返回空字符串,否则返回window的当前组头的路径名,如果window不属于任何组则返回空字符串。

windows下使用,返回消息正确,但是功能好像不太正常。
原创粉丝点击