QMenuBar and QToolBar

Posted ike_li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QMenuBar and QToolBar相关的知识,希望对你有一定的参考价值。

1.QMenuBar

  

void MenuBar::initUI()
{

    menuFile= new QMenu("File");
    menuFile->addAction("Import");
    menuTheme=new QMenu("Theme");
    QActionGroup *themeActGroup=new QActionGroup(this);
    themeDefault=new QAction(ThemeNameType[0]);
    themeDark=new QAction(ThemeNameType[1]);
    themeDefault->setCheckable(true);
    themeDark->setCheckable(true);
    menuTheme->addAction(themeActGroup->addAction(themeDefault));
    menuTheme->addAction(themeActGroup->addAction(themeDark));
    themeDefault->setChecked(true);


    menuSnapshots= new QMenu(this);
    menuView=new QMenu("View");
    menuHelp=new QMenu("Help");
    actionTest=menuHelp->addAction("Test");


    this->addMenu(menuFile);
    this->addMenu(menuTheme);
    this->addMenu(menuView);
    this->addMenu(menuSnapshots);
    this->addMenu(menuHelp);

    connect(this,SIGNAL(triggered(QAction*)),this,SLOT(slotMenu(QAction*)));
}
void MenuBar::slotMenu(QAction *act)
{

    if(act->text()=="Import")
    {
        importFile();
    }
    else if(act->text()==ThemeNameType[0])
    {
        themeName=ThemeNameType[0];
        updateTheme(themeName);
    }
    else if(act->text()==ThemeNameType[1])
    {
        themeName=ThemeNameType[1];
        updateTheme(themeName);
    }
    else if(act->text()=="Test")
    {
        emit sigTest();
    }

}

2.QToolBar

 

toolBar_=new QToolBar(this);
    QAction *acts[TOOL_BAR_ACT_COUNT];
    acts[0]=new QAction("zoom",this);
    acts[1]=new QAction("move",this);
    for(int i=0;i<TOOL_BAR_ACT_COUNT;i++)
    {
       acts[i]->setCheckable(true);
       toolBar_->addAction(acts[i]);

    }

    connect(toolBar_,SIGNAL(actionTriggered(QAction*)),this,SLOT(slotToolBar(QAction*)));
void FileDataPlotWidget::slotToolBar(QAction *act)
{
    qDebug()<<"slotToolBar";
    if(act->text()=="zoom")
    {

    }
    else if(act->text()=="move")
    {
      plot_->setMove(act->isChecked());
      qDebug()<<"move";
    }
}

 

以上是关于QMenuBar and QToolBar的主要内容,如果未能解决你的问题,请参考以下文章

在QMainwindow在对菜单栏以及工具栏的操作

PySide/PyQt 中 QTableWidget 的 QMenu

Qt 5 教程01

如何用Qt的designer添加菜单栏

如何用Qt的designer添加菜单栏

qt最新版5.3.1中的头文件编程问题