【问题标题】:How do you hide a gui from the statusbar?如何从状态栏中隐藏 gui?
【发布时间】:2018-12-19 15:06:06
【问题描述】:

我有 Linux mint 18 并创建了一个状态栏应用。它具有各种信息临时 CPU 速度 bat 信息,并使用 Tkinter 执行各种操作来管理我的笔记本电脑。每次打开应用程序时使用 Mint 时,它会在状态栏中为每个 prog/文件夹中的任何内容创建一个选项卡。我想隐藏我的程序。我已经研究过隐藏和展示不同的方式,但这些方式似乎都没有涵盖它,并且通过谷歌搜索我找不到我的具体问题。对此的任何帮助将不胜感激。

【问题讨论】:

    标签: python user-interface tkinter linux-mint


    【解决方案1】:

    有几种方法可以告诉桌面管理器不要在任务栏中显示应用程序:

    • 将窗口类型从“正常”更改为默认不显示在任务栏中的类型(根据类型,它还可以删除窗口装饰并更改窗口位置,例如始终在顶部)。例如,“工具栏”类型将完全满足您的需求。

      import tkinter as tk
      
      root = tk.Tk()
      root.attributes('-type', 'toolbar')
      root.mainloop()
      

      你可以找到here的类型列表。

    • 您还可以使用ewmh 模块更改自己的窗口状态:

      import tkinter as tk
      from ewmh import EWMH
      
      ewmh = EWMH()
      
      root = tk.Tk()
      root.update_idletasks()     # to make sure the window is displayed
      w = ewmh.getActiveWindow()  # get the window
      ewmh.setWmState(w, 1, '_NET_WM_STATE_SKIP_TASKBAR')  # remove window from taskbar
      ewmh.display.flush()
      root.mainloop() 
      

    【讨论】:

    • 第一部分确实有效,但我不得不说第二个选项是非常好的。我不知道我是怎么错过第一个选项的 :( 感谢您的快速回复,下次发帖之前我会看起来更长一点。
    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2015-09-17
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多