Qt QMainWindow:最小化到Ubuntu 18.04上的仪表板
我想将QMainWindow最小化为Ubuntu 18.04屏幕左侧仪表板上的图标 当调用“show()”函数且QMainWindow可见时,我会在左侧仪表板上看到应用程序的图标 但是,当在QMainWindow上调用“hide()”函数时,应用程序将不再可见,这很好,但仪表板图标也将消失。我想最小化,使应用程序不再可见,但仍有一个仪表板图标 编辑: 我现在可以在最小化时看到图标 所以还有一个小问题。我的应用程序一直在使用QSystemTrayIcon来显示/隐藏主窗口。当主窗口可见时,我现在将其设置为图标。问题是,为了再次显示主窗口,我需要现在单击仪表板最小化图标。当主窗口处于最小化状态时,QSystemTrayIcon没有响应。我希望主窗口显示仪表板图标或QSystemTrayIcon 这是我的密码:Qt QMainWindow:最小化到Ubuntu 18.04上的仪表板,qt,ubuntu,dashboard,qmainwindow,Qt,Ubuntu,Dashboard,Qmainwindow,我想将QMainWindow最小化为Ubuntu 18.04屏幕左侧仪表板上的图标 当调用“show()”函数且QMainWindow可见时,我会在左侧仪表板上看到应用程序的图标 但是,当在QMainWindow上调用“hide()”函数时,应用程序将不再可见,这很好,但仪表板图标也将消失。我想最小化,使应用程序不再可见,但仍有一个仪表板图标 编辑: 我现在可以在最小化时看到图标 所以还有一个小问题。我的应用程序一直在使用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();
}