我正在 osx、windows、linux 上开发应用程序
我想制作像 Skype 这样的功能。当用户单击关闭窗口时,应用程序不会退出而是隐藏。当用户单击扩展坞或任务栏上的应用程序图标时,我的主窗口将再次重新打开。
当用户单击应用程序图标时,如何获取通知或过滤事件?
首先,您需要防止在单击“关闭窗口”按钮时关闭应用程序窗口。假设您使用QMainWindow
:
class MainWindow : public QMainWindow
{
// .. constructors, etc.
// ..
protected:
void closeEvent(QCloseEvent *)
{
// Do not close, but hide the window.
hide();
}
};
Qt 有专门的类来处理任务栏图标 -QSystemTrayIcon
。因此,简单的应用程序将如下所示:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow mw;
QSystemTrayIcon tray; // needs an icon.
// Show the main window when user activates the tray icon.
QObject::connect(&tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
&mw, SLOT(show()));
tray.show();
return app.exec();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)