スプリッターに関する私の調査を示す前例。私はmainWindow(レイアウトなし)に9つのtextEditを持っています。私は動的レイアウトを作成します。 a)ユーザーは、表示する要素の数を選択します。 b)スプリッタが残っているので、私はhide要素を使いたくありません。 c)QTDesignerで静的レイアウトを作成する方法を知りましたスプリッターの使い方
私の問題は手動レイアウトです。将来私は最初の2つのtextEditsを表示する必要があります。次に、4テックスエディットなど...
この例では、splitter5が完全なウィンドウサイズではないという問題があります。 MainWindowマージンはsplitter5と関連付けられていません。
問題はどこで分かっていますか? また、これが正しい方法であるかどうかはわかりません。多分もっと良い解決策がありますか?
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSplitter>
#include <QGridLayout>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QSplitter *splitter1 = new QSplitter(Qt::Horizontal);
QSplitter *splitter2 = new QSplitter(Qt::Horizontal);
QSplitter *splitter3 = new QSplitter(Qt::Horizontal);
QSplitter *splitter4 = new QSplitter(Qt::Vertical);
QSplitter *splitter5 = new QSplitter(Qt::Vertical);
splitter1->addWidget(ui->textEdit);
splitter1->addWidget(ui->textEdit_2);
splitter1->addWidget(ui->textEdit_3);
splitter2->addWidget(ui->textEdit_4);
splitter2->addWidget(ui->textEdit_5);
splitter2->addWidget(ui->textEdit_6);
splitter3->addWidget(ui->textEdit_7);
splitter3->addWidget(ui->textEdit_8);
splitter3->addWidget(ui->textEdit_9);
splitter4->addWidget(splitter1);
splitter4->addWidget(splitter2);
splitter5->addWidget(splitter3);
splitter5->addWidget(splitter4);
this->layout()->addWidget(splitter5);
}
MainWindow::~MainWindow()
{
delete ui;
}
ありがとうございました。 – exo