【Qt】QtCreator中使用ActionManager类管理标题栏(MunuBar)、菜单(Menu)和菜单中的项目(Action)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010168781/article/details/86721292
1、简介

QtCreator中使用ActionManager类管理标题栏(MunuBar)、菜单(Menu)和菜单中的项目(Action),下面以创建“New”动作为例,介绍ActionManager的使用方法,后续会详细分析ActionManager。

2、创建标题栏(MunuBar)
const char MENU_BAR[] = "QtCreator.MenuBar";
const char G_FILE[] = "QtCreator.Group.File";

ActionContainer *menubar = ActionManager::createMenuBar(Constants::MENU_BAR);
menubar->appendGroup(Constants::G_FILE);
3、创建“文件”菜单栏(Menu)
const char M_FILE[]  = "QtCreator.Menu.File";
const char G_FILE_NEW[] = "QtCreator.Group.File.New";

ActionContainer *filemenu = ActionManager::createMenu(Constants::M_FILE);
menubar->addMenu(filemenu, Constants::G_FILE);
filemenu->menu()->setTitle(tr("&File"));
filemenu->appendGroup(Constants::G_FILE_NEW);
4、创建动作Action“New”

动作中只打印“new”

const char NEW[]  = "QtCreator.New";

ActionContainer *mfile = ActionManager::actionContainer(Constants::M_FILE);
QIcon *icon = new QIcon("new.icon");
m_newAction = new QAction(icon, tr("&New File or Project..."), this);
cmd = ActionManager::registerAction(m_newAction, Constants::NEW);
cmd->setDefaultKeySequence(QKeySequence::New);
mfile->addAction(cmd, Constants::G_FILE_NEW);
connect(m_newAction, &QAction::triggered, this, [this]() {
    qDebug("new");
});

这就是ActionManager的使用方法,详细介绍待续…

猜你喜欢

转载自blog.csdn.net/u010168781/article/details/86721292