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);
}

效果如图所示:
在这里插入图片描述

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);
}

效果如图所示:
在这里插入图片描述
3.状态栏:主要显示软件当前运行的状态,主要使用QStatusBar创建。

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

效果如图所示:
在这里插入图片描述
4.创建好菜单栏、工具栏后需要对他们赋予相应功能,可使用信号与槽将他们连接起来。

//菜单栏的三个子选项的信号与槽
MainWindow::initConnection()
{
    connect(action1,SIGNAL(triggered()),this,SLOT(drawXiao()));
    connect(action2,SIGNAL(triggered()),this,SLOT(drawZhong()));
    connect(action3,SIGNAL(triggered()),this,SLOT(drawDa()));
}
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值