QToolBar 工具栏 QStatusBar 状态栏

71 篇文章 4 订阅

QToolBar 工具栏


1.QToobar *mainToolBar = new QToolBar(this);
2.mainToolBar->setGeometry(0,m->height(),width(),30);
3.mainToolBar->setIconSize(QSize(30,30));
4.mainToolBar->addAction(a1);

QStatusBar 状态栏


1.QStatusBar *statusBar = new QStatusBar(this);
2.statusBar->setGeometry(0,height() - 30,width(),30);
3.statusBar->showMessage(QStringLiteral("测试三秒消失消息!"),3000);

mainwindow.cpp


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>
#include <QActionGroup>
#include <QToolBar>
#include <QStatusBar>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //插入菜单栏
    QMenuBar *m = new QMenuBar(this);
    m->resize(width(),m->height());
    //一级菜单
    m1 = m->addMenu(QStringLiteral("菜单1"));
    //包含所有子结点(子结点的子节点)都触发
    connect(m1,&QMenu::triggered,this,&MainWindow::Action);
    //connect(m1,qOverload<QAction*>::of(&QMenu::triggered),
    //        this,qOverload<QAction*>::of(&MainWindow::Action));
    //connect(m1,SIGNAL(triggered(QAction*)),
    //       this,SLOT(Action(QAction*)));

    //二级菜单
    QAction* a1 = m1->addAction(QStringLiteral("二级菜单1.1"));
    a1->setIcon(QIcon("test.png"));
    //QAction 触发信号
    // connect(a1,qOverload<>::of(&QAction::triggered),
    //        this,qOverload<>::of(&MainWindow::Action1));

    connect(a1,SIGNAL(triggered(void)),    
           this,SLOT(Action1(void)));  
    
    //添加快捷键
    a1->setShortcut(QString("A"));
    // connect(a1,&QAction::triggered,    
    //        this,&MainWindow::Action1);

    QAction* a2 = m1->addAction(QStringLiteral("二级菜单1.2"));
    //QAction鼠标悬停信号
    connect(a2,&QAction::hovered,this,&MainWindow::Hover);

    QAction* a3 = m1->addAction(QStringLiteral("二级菜单1.3"));
    a3->setIcon(QIcon("test.png"));

    a1->setCheckable(true);
    a2->setCheckable(true);
    a3->setCheckable(true);

    QActionGroup *ag = new QActionGroup(this);
    //ag->addAction(a1);
    ag->addAction(a2);
    ag->addAction(a3);
    //单选
    ag->setExclusive(true);

    // //是否选择
    // connect(a1,qOverload<bool>::of(&QAction::triggered),
    //         this,qOverload<bool>::of(&MainWindow::Action1));

    connect(a1,SIGNAL(triggered(bool)),
            this,SLOT(Action1(bool)));

    //三级菜单
    QMenu *m14 = m1->addMenu(QStringLiteral("二级菜单1.4"));
    m14->addAction(QStringLiteral("三级菜单1.4.1"));
    m14->setIcon(QIcon("test.png"));

    QMenu *m2 = m->addMenu(QStringLiteral("菜单2"));
    m2->addAction(ui->actionTest1);
    QMenu *m3 = m->addMenu(QStringLiteral("菜单3"));

    /
    //工具栏
    QToolBar *tbar = new QToolBar(this);
    tbar->setGeometry(0,m->height(),width(),30);
    tbar->setIconSize(QSize(30,30));
    tbar->addAction(a1);

    /
    //状态栏
    //实现消息定时消失
    QStatusBar * sbar = new QStatusBar(this);
    sbar->setGeometry(0,height() - 30, width(),30);
    sbar->showMessage(QStringLiteral("测试消息三秒消失!"),3000);
}

MainWindow::~MainWindow()
{
    delete ui;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值