QT:QToolBar 的使用

声明:

class CToorBar : public QToolBar
{
    Q_OBJECT
public:
    CToorBar(QWidget *parent = 0);
    ~CToorBar(void);

private:
    void CreateToolBar(void);

private:
    QAction                 *m_ZoomInAct;
    QAction                 *m_ZoomOutAct;
    QAction                 *m_ZoomRstAct;
    QAction                 *m_SavePngAct;
};

定义:

CToorBar::CToorBar(QWidget *parent)
:QToolBar(parent)
,m_ZoomInAct(NULL)
,m_ZoomOutAct(NULL)
,m_ZoomRstAct(NULL)
,m_SavePngAct(NULL)
{
    CreateToolBar();
}

CToorBar::~CToorBar(void)
{

}

void CToorBar::CreateToolBar(void)
{
    QWidget* spacer = new QWidget();
    spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);

    this->setAutoFillBackground(true);
    this->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    this->setFixedHeight(this->height()-5);

    m_ZoomInAct = new QAction(QString::fromLocal8Bit("放大"),this);
    m_ZoomInAct->setIcon(QIcon(":/images/zoomin.png"));

    m_ZoomOutAct = new QAction(QString::fromLocal8Bit("缩小"),this);
    m_ZoomOutAct->setIcon(QIcon(":/images/zoomout.png"));

    m_ZoomRstAct = new QAction(QString::fromLocal8Bit("恢复"),this);
    m_ZoomRstAct->setIcon(QIcon(":/images/zoomrst.png"));

    m_SavePngAct = new QAction(QString::fromLocal8Bit("保存为图片"),this);
    m_SavePngAct->setIcon(QIcon(":/images/savepng.png"));

    this->addWidget(spacer);
    this->addAction(m_ZoomInAct);
    this->addAction(m_ZoomOutAct);
    this->addAction(m_ZoomRstAct);
    this->addAction(m_SavePngAct);
}

使用:
m_ToorBar = new CToorBar(this);
QVBoxLayout *layout = new QVBoxLayout;
layout->setMargin(0);
layout->setSpacing(0);
layout->addWidget(m_ToorBar);

效果如图所示:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u012061464/article/details/80569612