Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QMainWindow:最小化到Ubuntu 18.04上的仪表板_Qt_Ubuntu_Dashboard_Qmainwindow - Fatal编程技术网

Qt QMainWindow:最小化到Ubuntu 18.04上的仪表板

Qt QMainWindow:最小化到Ubuntu 18.04上的仪表板,qt,ubuntu,dashboard,qmainwindow,Qt,Ubuntu,Dashboard,Qmainwindow,我想将QMainWindow最小化为Ubuntu 18.04屏幕左侧仪表板上的图标 当调用“show()”函数且QMainWindow可见时,我会在左侧仪表板上看到应用程序的图标 但是,当在QMainWindow上调用“hide()”函数时,应用程序将不再可见,这很好,但仪表板图标也将消失。我想最小化,使应用程序不再可见,但仍有一个仪表板图标 编辑: 我现在可以在最小化时看到图标 所以还有一个小问题。我的应用程序一直在使用QSystemTrayIcon来显示/隐藏主窗口。当主窗口可见时,我现在将

我想将QMainWindow最小化为Ubuntu 18.04屏幕左侧仪表板上的图标

当调用“show()”函数且QMainWindow可见时,我会在左侧仪表板上看到应用程序的图标

但是,当在QMainWindow上调用“hide()”函数时,应用程序将不再可见,这很好,但仪表板图标也将消失。我想最小化,使应用程序不再可见,但仍有一个仪表板图标

编辑:

我现在可以在最小化时看到图标

所以还有一个小问题。我的应用程序一直在使用QSystemTrayIcon来显示/隐藏主窗口。当主窗口可见时,我现在将其设置为图标。问题是,为了再次显示主窗口,我需要现在单击仪表板最小化图标。当主窗口处于最小化状态时,QSystemTrayIcon没有响应。我希望主窗口显示仪表板图标或QSystemTrayIcon

这是我的密码:

connect(m_pTrayIcon,   SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
        this,          SLOT(onActivated(QSystemTrayIcon::ActivationReason)));

// Slot to handle tray icon activated signal
void MyMainWindow::onActivated(QSystemTrayIcon::ActivationReason r)
{   
    if (r == QSystemTrayIcon::Trigger)
    {
        if (!this->isVisible() || this->isMinimized())
        {
            this->show();
        }
        else
        {
            this->showMinimized();
        }
    }
}

使用时应使用setWindowsState。退房单据

下面是代码

#include <QApplication>
#include <QPushButton>
#include <QWidget>

int main(int argc, char **argv) {
  QApplication a(argc, argv);
  QWidget w;
  QPushButton b("hideme", &w);
  w.show();
  QObject::connect(&b, &QPushButton::clicked,
                   [&w]() { w.setWindowState(Qt::WindowMinimized); });
  return a.exec();
}
#包括
#包括
#包括
int main(int argc,字符**argv){
质量保证申请a(argc、argv);
qw;
QPushButton b(“隐藏”和w);
w、 show();
QObject::connect(&b,&QPushButton::单击,
[&w](){w.setWindowsState(Qt::WindowMinimized);};
返回a.exec();
}