【问题标题】:How to create window in tcl without title bar如何在没有标题栏的tcl中创建窗口
【发布时间】:2019-12-27 21:31:53
【问题描述】:

如何在 tcl 中使用它的窗口管理器 (wm) 创建一个窗口,以便没有标题栏。 wm 标题 "abc" ;如果我错过了,那么 tcl 的窗口管理器会给出自己的名称。

【问题讨论】:

  • 您确定不想要标题栏吗?标题栏允许用户移动、最大化、最小化/图标化和关闭窗口。如果没有标题栏,用户要么无法操作窗口,要么您必须自己手动处理窗口移动/关闭等操作。
  • 是的,这是一个要求

标签: tcl tk


【解决方案1】:

要完全删除窗口管理器装饰,请使用wm overrideredirect 在顶层窗口第一次映射之前(通常在创建顶层后立即)请求将其映射为非托管窗口;这就是菜单和工具提示等在幕后为您所做的事情。

set t [toplevel .abc]
wm overrideredirect $t 1
# Fill out the contents

请注意,这可以与焦点管理“有趣地”交互,并且在 X11 上,您应该还适当地设置 -type 属性,例如:

wm attributes $t -type tooltip

在某些情况下,您可能会更好地将窗口变为另一个窗口的 transient,这(通常)会更改窗口装饰,但不如使其覆盖重定向那么激进。

# e.g., this makes the window a transient of the main window
wm transient $t .

如果您要制作全屏未装饰的窗口,最好通过以下方式完成:

wm attributes $t -fullscreen 1

【讨论】:

  • 在windows上你也可以wm attributes $t -toolwindow 1
  • 所以这不能应用于.顶层窗口是真的吗?我需要在脚本的开头wm withdraw . 吗?谢谢你的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 2012-03-25
  • 1970-01-01
  • 2013-03-04
  • 2015-09-30
  • 1970-01-01
相关资源
最近更新 更多