初识菜单

来源:互联网 发布:网络摄像头一天多少g 编辑:程序博客网 时间:2024/05/17 07:03

1.添加菜单

菜单栏由QMenuBar来管理,一行菜单栏只有一个QMenuBar,其所属的菜单均是QMenu构成。

    QMenu *menu1 = new QMenu("文件(&F)");    QMenu *menu2 = new QMenu("编辑(&E)");    QMenu *menu3 = new QMenu("构建(&B)");    ui->menuBar->addMenu(menu1);    ui->menuBar->addMenu(menu2);    ui->menuBar->addMenu(menu3);

如图:


2.添加Action

添加action,就是添加对应菜单里面的选项
    QList <QAction*> action1;    QAction *action1_1 = new QAction("打开");    QAction *action1_2 = new QAction("关闭");    QAction *action1_3 = new QAction("设置");    action1.append(action1_1);    action1.append(action1_2);    action1.append(action1_3);    menu1->addActions(action1);
效果:

添加Action的组,即QActionGroup,使得包含进去的action之间关系是矛盾的,即只能选其一。
    QActionGroup *group2 = new QActionGroup(menu2);    QAction *action2_1 = new QAction("64bit");    action2_1->setCheckable(true);//按下后,会出现选中    QAction *action2_2 = new QAction("32bit");    action2_2->setCheckable(true);    QAction *action2_3 = new QAction("构建");    group2->addAction(action2_1);//加入组中    group2->addAction(action2_2);    menu2->addAction(action2_1);    menu2->addAction(action2_2);    menu2->addSeparator();//加入间隔符    menu2->addAction(action2_3);
效果:

64位,32位只能选中一个

3.添加子菜单

给菜单“文件”,添加“保存”选项,保存选项又分为“保存”和“另存为”。
    QMenu *menu1_1 = new QMenu("保存",menu1);    QAction *action1_1_1 = new QAction("保存",menu1_1);    QAction *action1_1_2 = new QAction("另存",menu1_1);    menu1_1->addAction(action1_1_1);    menu1_1->addAction(action1_1_2);    menu1->addMenu(menu1_1);
效果:

原创粉丝点击