MainWindow


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();
              }
          }
      }

文章作者: bySouffle
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 bySouffle !
  目录