代码之家  ›  专栏  ›  技术社区  ›  Karsten W.

带tk的全屏模式

  •  1
  • Karsten W.  · 技术社区  · 14 年前

    是否可以在tk应用程序中创建某种全屏模式(如无窗口标题栏)?

    2 回复  |  直到 14 年前
        1
  •  2
  •   slebetman    14 年前

    我以前用 wm overrideredirect 在我的代码中耍花招。最近我在Ubuntu上发现了它。不知道为什么,可能是GNOME问题,也可能是GLX问题。目前我正在使用:

    wm attributes . -fullscreen 1
    

    到目前为止,它可以在Windows和Linux上工作。还没有在Mac上测试过,尽管我不明白为什么它不能工作。


    好的,阅读手册。它说它适用于Windows、OSX(Quartz)和X11。


    附加信息

    对于那些不相信我的人

    手册上写着:

     -fullscreen
             Places the window in a mode  that  takes  up  the  entire
             screen,  has  no borders, and covers the general use area
             (i.e. Start menu and taskbar on Windows, dock and menubar
             on OSX, general window decorations on X11).
    

    这似乎意味着窗口装饰(标题栏等)在 -fullscreen 模式。在我的实际经验中(2秒钟前我刚刚检查了我的代码),在Windows和Ubuntu(Linux)上是这样的。不知道OSX是否是真的,但手册页上说应该是真的。

    如果在任何平台上都不是这样,那么我相信这是文档中的一个错误。在这种情况下,应在手册页上清楚地注明哪些平台是未移除的窗户装饰。

        2
  •  2
  •   Bryan Oakley    14 年前

    对。你想设置 overrideredirect 顶级标志。

    toplevel .top
    wm overrideredirect .top 1
    

    如果以交互方式运行此窗口,则需要收回该窗口,然后由窗口管理器将其取消神化,以便窗口管理器有机会从窗口中删除该框架。

    这只会删除窗口管理器装饰。您需要以正常方式将大小作为单独的步骤进行管理。

    有关更多信息,请参见 wm 命令