Qt 状态栏 QStatusBar 使用

借用上一篇文章的窗口,我们在里面又创建了一个 QStatusBar 的状态栏例子,例子中使用了一个小的 Label 控件添加到了 StatusBar 中,让其可以随时改变 StatusBar 中文字的内容。具体示例代码如下:

#include "cmainwindow.h"
#include <QMenuBar>
#include <QDebug>
#include <QToolBar>
#include <QStatusBar>

CMainWindow::CMainWindow(QWidget *parent) : QMainWindow(parent)
{
    // 创建一个菜单栏
    QMenuBar* pMenuBar = menuBar();

    // 给菜单栏增加一个主菜单 File
    QMenu* menuFile = pMenuBar->addMenu("&File");
    /*
     * 给 File 下增加子菜单
     * 第一个参数:图标
     * 第二个参数:显示文字
     * 第三个参数:由谁(哪个对象)来处理他的功能
     * 第四个参数:处理的槽函数(后面再介绍)
     * 第五个参数:快捷键
     */
    QAction* newAction = menuFile->addAction(QIcon(QPixmap("d:\\qt-logo.png")), "&New", this, SLOT(slotNew()), QKeySequence(tr("CTRL+N")));
    menuFile->addAction("&Open");
    menuFile->addAction("&Save");
    // 插入分隔符
    menuFile->addSeparator();
    menuFile->addAction("&Exit");

    // 给菜单栏增加一个主菜单 File
    QMenu* menuHelp = pMenuBar->addMenu("&Help");
    menuHelp->addAction("&About");

    // 添加一个工具栏
    QToolBar* toolBar = addToolBar("toolBar");
    // 用工具栏的返回值来初始化工具栏子项
    toolBar->addAction(newAction);

    // 添加状态栏
    QStatusBar* status = statusBar();
    // 给状态栏添加一个label用来显示文字 _label 是成员变量,可以在对象中其他的位置修改它的值
    status->addWidget(_label = new QLabel("就绪"));
}

void CMainWindow::slotNew()
{
    qDebug() << "slotNew...";
    // 修改状态栏的值
    _label->setText("新建");
}

 

说说你的想法