Qt中创建使用菜单栏、工具栏、状态栏

Qt中创建使用菜单栏、工具栏、状态栏

1.菜单栏
软件(如QT)中“文件”、“编辑” 这一栏称为菜单栏。主要使用QMenuBar、QMenu、QAction类创建菜单栏及相关选项。

//.h里定义
    QMenuBar *menu;
    QMenu *menu1;
    QMenu *menu2;
    QMenu *menu3;
    QAction *action1;
    QAction *action2;
    QAction *action3;
    QStatusBar *status;
    initMenu();
//.c
MainWindow::initMenu()
{
    menu = new QMenuBar(this);
    this->setMenuBar(menu);//构建菜单栏
    menu1 = new QMenu("规划路径(&A)",menu);
    menu2 = new QMenu("规格(&B)",menu);
    menu3 = new QMenu("清除(&C)",menu);//构建菜单栏选项
    action1 = new QAction("小地图");
    action2 = new QAction("中地图");
    action3 = new QAction("大地图");//构建菜单栏选型的具体功能
    menu2->addAction(action1);
    menu2->addSeparator();
    menu2->addAction(action2);//将功能添加到菜单栏选修
    menu2->addSeparator();//分隔符
    menu2->addAction(action3);
    menu->addMenu(menu1);//将菜单栏选项添加到菜单栏
    menu->addMenu(menu2);
    menu->addMenu(menu3);
}

效果如图所示:
Qt中创建使用菜单栏、工具栏、状态栏_第1张图片

2.工具栏:软件使用时所需要的一些工具,如新建、保存当前数据等。主要使用QToolBar、QAction创建及使用工具栏。

MainWindow::initTool()
{
    QToolBar *tool = new QToolBar(this);
    this->addToolBar(tool);//构建工具栏
    QAction *tool1 = new QAction("新建");//构建工具栏选项
    QAction *tool2 = new QAction("打开");
    QAction *tool3 = new QAction("保存");
    QAction *tool4 = new QAction("退出");
    tool->addAction(tool1);//将工具栏选项添加到工具栏
    tool->addAction(tool2);
    tool->addAction(tool3);
    tool->addAction(tool4);
}

效果如图所示:
Qt中创建使用菜单栏、工具栏、状态栏_第2张图片
3.状态栏:主要显示软件当前运行的状态,主要使用QStatusBar创建。

//.h
QStatusBar *status;
initStatus();
//.c
MainWindow::initStatus()
{
    status = new QStatusBar(this);
    this->setStatusBar(status);
}
//软件相关功能函数里放
QLabel *pWelCome = new QLabel(QString("  就绪"));
status->addWidget(pWelCome);

效果如图所示:
Qt中创建使用菜单栏、工具栏、状态栏_第3张图片
4.创建好菜单栏、工具栏后需要对他们赋予相应功能,可使用信号与槽将他们连接起来。

//菜单栏的三个子选项的信号与槽
MainWindow::initConnection()
{
    connect(action1,SIGNAL(triggered()),this,SLOT(drawXiao()));
    connect(action2,SIGNAL(triggered()),this,SLOT(drawZhong()));
    connect(action3,SIGNAL(triggered()),this,SLOT(drawDa()));
}

你可能感兴趣的:(Qt,qt,c++)