MainWindow
含有 QMenuBar, QToolBar 和 QStatusBar的窗口
QMenuBar
QMenuBar *pMenuBar = menuBar();
QMenu
QMenu *menu = pMenuBar->addMenu("&File");
当需要在其他地方使用 menu 时, 可以创建一个 _menu 指针等于 menu
_menu = menu;QAction
QAction *OpenAction = menu-> addAction("&Open", // 名字 this, & MyMainWindow::sl_open, // 处理函数 QKeySequence::Open // 快捷键 );
QToolBar
QToolBar *toolBar = this->addToolBar("MyToolBar");
toolBar->addAction(OpenAction);
toolBar->addAction(SaveAction);
toolBar->addAction(ExitAction);
QStatusBar // layout?
QStatusBar * statusBar = this->statusBar();
QSystemTrayIcon
系统托盘图标
_icon = new QSystemTrayIcon(); _icon->setIcon(QIcon("../favicon.ico")); _icon->setToolTip("This is tray icon test"); _icon->show(); _icon->setContextMenu(_menu); // 点击菜单点击显示隐藏
connect(_icon, &QSystemTrayIcon::activated, this, & MyMainWindow::sl_iconevent); void MyMainWindow::sl_iconevent(QSystemTrayIcon::ActivationReason reason) { if(reason == QSystemTrayIcon::Trigger) { if(this->isHidden()) this->show(); else { this->hide(); } } }