代码之家  ›  专栏  ›  技术社区  ›  Glenn Nelson

Qt隐藏任务栏项

  •  22
  • Glenn Nelson  · 技术社区  · 14 年前

    4 回复  |  直到 14 年前
        1
  •  21
  •   bjoern.bauer    14 年前

    我想你只需要一些父占位符小部件。如果您在没有父窗口的情况下创建小部件,则它被视为顶级窗口。但是,如果您将其创建为顶级窗口的子窗口,则它被视为子窗口,并且本身没有任务栏条目。另一方面,父窗口也无法获得任务栏条目,因为您从未将其设置为可见:这里的代码对我有效:

    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();
    }
    

        2
  •  6
  •   EnriMR    9 年前

    如果您想在任务栏上显示/隐藏小部件而不显示它,您可以检查该小部件的窗口标志。我不是百分之百确定,但我想我 Qt::Dialog | Qt::Tool Qt::CustomizeWindowHint QApplication::setQuitOnLastWindowClosed(false) 为了防止。。。

        3
  •  4
  •   Tananda    9 年前

    只需为小部件设置Qt::子窗口标志。

        4
  •  0
  •   rominf Alex Martelli    9 年前

    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()