如何隐藏任务栏上的应用程序?

Posted

技术标签:

【中文标题】如何隐藏任务栏上的应用程序?【英文标题】:How to hide application on taskbar? 【发布时间】:2015-04-22 16:09:55 【问题描述】:

我想从任务栏中隐藏我的 QT 应用程序?我在谷歌上找不到任何东西,所以我在这里问。 Qt Hide Taskbar Item (Qt Hide Taskbar Item) 和 this->hide() 的解决方案没有帮助。

main.cpp

#include "status_bar.h"
#include <QApplication>

int main(int argc, char *argv[])

    QApplication a(argc, argv);
    status_bar w;
    w.show();

    return a.exec();

status_bar.cpp:

    #include "status_bar.h"
    #include "ui_status_bar.h"
    #include <stdlib.h>
    #include <QTime>
    #include <QTimer>
    #include <QApplication>
    #include <QDesktopWidget>

    status_bar::status_bar(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::status_bar)
    
        ui->setupUi(this);
        setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
        resize(QApplication::desktop()->width(),36);
        ui->time->move(QApplication::desktop()->width()-ui->time->size().width(),10);
        ui->username->setText(getenv("USER"));
        timeupdate = new QTimer(this);
        connect(timeupdate, SIGNAL(timeout()),
                  this, SLOT(UpdateClock()));
        timeupdate->start(100);
    

    void status_bar::UpdateClock()
    
        ui->time->setText(QTime::currentTime().toString("HH:mm"));
    

    status_bar::~status_bar()
    
        delete ui;
    

编辑: 像这样的代码,这个窗口是空的。

class MyWindowWidget : public QWidget

public:
    MyWindowWidget(QWidget *parent)
        : QWidget(parent, Qt::Dialog)
    

    
;

int main(int argc, char *argv[])

    QApplication app(argc, argv);

    status_bar window;

    MyWindowWidget widget(&window);
    widget.show();

    return app.exec();

通过使用 Qt::Tool 标志解决。

【问题讨论】:

Qt Hide Taskbar Item的可能重复 但是***.com/questions/4055506/qt-hide-taskbar-item 的解决方案没有帮助。 它的哪一部分没有帮助? 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(&amp;window); widget.show(); return app.exec(); 修改为使用我的班级名称。 此外,通过 ***.com/questions/4055506/qt-hide-taskbar-item 的解决方案,没有任何小部件。只有背景。 【参考方案1】:

Qt::Tool 标志对我来说还有其他问题,比如当它的状态变为非活动状态时,这个小部件/窗口是隐藏的。 我建议你使用 Qt::ToolTip

【讨论】:

以上是关于如何隐藏任务栏上的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

delphi2007如何让程序不在任务栏中隐藏和显示?

如何让指定的程序不在任务栏显示?但是仍然能在后台运行。windowsAPI能做吗?

Windows Mobile 隐藏任务栏和菜单栏

win10任务栏uwp应用没有图标,怎么解决

打开的窗口在任务栏上显示不出来?解决办法

使自动隐藏的任务栏在窗口最大化而不取消隐藏