2015-04-22 217 views
2

我想从任务栏隐藏我的QT应用程序?我在Google找不到任何东西,所以我在这里问。 从Qt隐藏任务栏项目(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标志求解。

+0

可能重复的[Qt Hide Taskbar Item](http://stackoverflow.com/questions/4055506/qt-hide-taskbar-item) – NathanOliver

+0

但是从http: //stackoverflow.com/questions/4055506/qt-hide-taskbar-item没有帮助。 – Piesek64

+0

什么部分没有帮助? – NathanOliver

回答

-1

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

相关问题