【问题标题】:Qt Hide Taskbar ItemQt隐藏任务栏项目
【发布时间】:2011-05-02 14:44:48
【问题描述】:

我有一个自定义 QWidget,我不想让它出现在任务栏中。我有一个 QSystemTrayIcon 用于管理退出/最小化等。

【问题讨论】:

    标签: qt taskbar qwidget


    【解决方案1】:

    我认为您在这里唯一需要的是某种父占位符小部件。如果您在没有父级的情况下创建小部件,则它被视为顶级窗口。但是,如果您将其创建为顶级窗口的子窗口,则它被视为子窗口,并且本身不会获得任务栏条目。另一方面,父窗口也没有任务栏条目,因为您从未将其设置为可见:此代码适用于我:

    class MyWindowWidget : public QWidget
    {
    public:
        MyWindowWidget(QWidget *parent)
            : QWidget(parent, Qt::Dialog)
        {
    
        }
    };
    
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
    
        QMainWindow window;
    
        MyWindowWidget widget(&window);
        widget.show();
    
        return app.exec();
    }
    

    如果这是您想要的,则不会显示任何任务栏条目。

    【讨论】:

    • 我在使用其中一个应用程序时遇到了这个问题,在阅读后我意识到问题是有人用这个对象提交了一个对象创建。这对我来说是个错误。我删除了 this 并且应用程序运行良好,即任务栏条目又回来了。谢谢你。
    【解决方案2】:

    只需为小部件设置 Qt::SubWindow 标志。

    【讨论】:

    • 这绝对是最简单的答案。使用 Qt5 为我工作。
    • 如果您的窗口没有框架,这是一个很好的解决方案。如果是这样,那么您将没有默认的窗口按钮(关闭、最大化、最小化)。
    • 我把这段代码放在哪里?能举个更详细的例子吗?
    【解决方案3】:

    如果您想显示/隐藏小部件而不在任务栏上显示它,您可以检查该小部件的窗口标志。我不是 100% 确定,但我想我用过Qt::Dialog | Qt::ToolQt::CustomizeWindowHint 来实现这一点,但我的窗户也没有完全装饰。如果您使用它,您可能要记住的另一件事是应用程序的退出策略。关闭/隐藏最后一个顶层窗口通常会退出您的应用程序,因此您可能需要调用 QApplication::setQuitOnLastWindowClosed(false) 来防止这种情况...

    【讨论】:

    • Qt::Tool 是阻止进入任务栏的相关标志。
    • Nvm 得到它:this->setWindowFlags(Qt::tool);
    • 注意:在某些 WM 上,甚至有父母的孩子也会列在任务栏中。正如在别处提到的,将窗口类型设置为 Qt::Tool 解决了这个问题,但是一些 WM 不允许最大化工具窗口。如果您也需要,您必须通过从 X11Info 获取 X11 连接来手动发送“_NET_WM_STATE_SKIP_TASKBAR”
    【解决方案4】:

    实现此目的的 Python 代码:

    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    class MainWindow(QWidget):
        def __init__(self, parent=None):
            super(MainWindow, self).__init__(parent, Qt.Tool)
    
    window = MainWindow()
    window.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2013-10-26
      • 2015-12-18
      • 2015-12-21
      相关资源
      最近更新 更多