QSplitter QSplitterHandleは、カスタム、カスタムスプリッタ基本的なコントロール(2)を実装します

A、レンダリングの
ここに画像を挿入説明
2つのコードを

#ifndef SPLITERWIDGET_H
#define SPLITERWIDGET_H

#include <QObject>
#include <QTextEdit>
#include <QWidget>
#include <QDebug>
#include <QSplitter>
#include <QSplitterHandle>
#include <QHBoxLayout>
#include <QVBoxLayout>

class HspliterHandler : public QSplitterHandle
{
    Q_OBJECT
public:
    explicit HspliterHandler(Qt::Orientation o, QSplitter *parent);
};

class Hspliter : public QSplitter
{
    Q_OBJECT
public:
    explicit Hspliter(Qt::Orientation o, QWidget* parent = nullptr);

protected:
    virtual HspliterHandler *createHandle();
};

class SpliterWidget : public QWidget
{
    Q_OBJECT
public:
    SpliterWidget();
};

#endif // SPLITERWIDGET_H

#include "spliterwidget.h"

SpliterWidget::SpliterWidget()
{
    QTextEdit *pLeftEdit = new QTextEdit("left",this);
    QTextEdit *pTopEdit = new QTextEdit("top",this);
    QTextEdit *pBottomEdit = new QTextEdit("bottom",this);

    Hspliter *mainSpliter = new Hspliter(Qt::Horizontal,this);
    Hspliter *rightSpliter = new Hspliter(Qt::Vertical,this);

    mainSpliter->addWidget(pLeftEdit);
    mainSpliter->addWidget(rightSpliter);

    rightSpliter->addWidget(pTopEdit);
    rightSpliter->addWidget(pBottomEdit);

    QHBoxLayout *hlayout = new QHBoxLayout(this);
    hlayout->addWidget(mainSpliter);
    resize(400,300);

    mainSpliter->setStretchFactor(0,1);
    mainSpliter->setStretchFactor(1,3);
}

HspliterHandler::HspliterHandler(Qt::Orientation o, QSplitter *parent):
    QSplitterHandle(o,parent)
{

}

Hspliter::Hspliter(Qt::Orientation o, QWidget *parent):
    QSplitter(o,parent)
{

}

HspliterHandler *Hspliter::createHandle()
{
    HspliterHandler *ph = new HspliterHandler(orientation(),this);
    ph->setMinimumSize(3,3);
    return ph;
}

III概要
1.クラスQ_WIDGETS_EXPORT QSplitter:容器の見公衆QFrame、QSplitterは、本質的に唯一のコンポーネント。容器部材を添加した後、自動的に左側スプリッタQSplitterHandle部材上に追加されます。
変換のQSplitterHandle部材; 2.サブクラスQSplitterは、重要な点は、書き換え可能な仮想HspliterHandler * createHandle()です。

公開された30元の記事 ウォンの賞賛1 ビュー1137

おすすめ

転載: blog.csdn.net/u010906468/article/details/105001376