zoukankan      html  css  js  c++  java
  • Qt Application Menu In Window and Mac

    Application Menu

    Application menu in different operator systems has different designed style. like Windows and Mac os, they are different.In the code, we can use different Macro ,eg:Q_OS_MAC and Q_OS_WIN

    #ifdef Q_OS_MAC
    void MainWindow::InitMenu()
    {
        QMenuBar* mBar = menuBar();
    
        QMenu* mApp   = new QMenu(tr("App"),this);
        QMenu* mFile  = new QMenu(tr("&File"),this);
    
        mBar->addMenu(mApp);
        mBar->addMenu(mFile);
    
        /** In Mac,We should to set action role */
        QAction* actAbout = new QAction(tr("&About"),this);
        actAbout->setMenuRole(QAction::AboutRole);
    
        QAction* actSetApp = new QAction(tr("&Preference..."),this);
        actSetApp->setMenuRole(QAction::PreferencesRole);
    
        mApp->addAction(actAbout);
        mApp->addAction(actSetApp);
    
        QAction* actOpen = new QAction(tr("&Open Video Files..."),this);
        mFile->addAction(actOpen);
    
        connect(actOpen,&QAction::triggered,_player,&Player::StOpen);
        connect(actSetApp,&QAction::triggered,this,&MainWindow::StShowSetDlg);
    }
    #else
    void MainWindow::InitMenu()
    {
        QMenuBar* mBar = menuBar();
    
        QMenu* mFile  = new QMenu(tr("&File"),this);
        QMenu* mSet   = new QMenu(tr("&Setting"),this);
        QMenu* mAbout = new QMenu(tr("&About"),this);
    
        QAction* actOpen = new QAction(tr("&Open Video Files..."),this);
        QAction* actExit = new QAction(tr("&Exit out"),this);
    
        mFile->addAction(actOpen);
        mFile->addSeparator();
        mFile->addAction(actExit);
    
        QAction* actSetApp = new QAction(tr("&Setting App..."),this);
        mSet->addAction(actSetApp);
    
        mBar->addMenu(mFile);
        mBar->addMenu(mSet);
        mBar->addMenu(mAbout);
    
        connect(actOpen,&QAction::triggered,_player,&Player::StOpen);
        connect(actExit,&QAction::triggered,this,[=](){close();});
        connect(actSetApp,&QAction::triggered,this,&MainWindow::StShowSetDlg);
    }
    #endif
    

  • 相关阅读:
    字符编码ANSI和ASCII区别、Unicode和UTF-8区别
    《非暴力沟通》读后感
    软件测试
    报表导出测试点
    如何设计测试用例
    国密算法sm2.sm3.sm4
    免杀原理与实践
    SQL注入攻击
    网络攻防实践 第十周作业
    网络攻防实践第九周
  • 原文地址:https://www.cnblogs.com/zi-xing/p/8594799.html
Copyright © 2011-2022 走看看