0

我有一个拆分器和两个小部件...我想用拆分器替换第一个小部件,并将第一个小部件和另一个具有相同排列的小部件放入其中(在运行时)

PS:我无法从拆分器中删除第一个小部件

4

1 回答 1

2

您不需要新的拆分器进行替换,因为 QSplitter 可以处理超过 2 个小部件。假设我们在拆分器中有两个小部件:

QSplitter *splitter = new QSplitter(this);
setCentralWidget(splitter);

QTextEdit *widget0 = new QTextEdit;
QTextEdit *widget1 = new QTextEdit;

splitter->addWidget(widget0);
splitter->addWidget(widget1);

现在我们可以在这两者之间放置第三个小部件:

QTextEdit *widget2 = new QTextEdit;
splitter->insertWidget(1, widget2);

现在我们有三个小部件和它们之间的两个拆分器,按小部件0、小部件2、小部件1 的顺序排列。

更新:

如果第二个分离器的方向不同,则:

QSplitter *splitter2 = new QSplitter;
splitter2->setOrientation(Qt::Vertical);
QTextEdit *widget2 = new QTextEdit("2");
splitter2->addWidget(widget0);
splitter2->addWidget(widget2);
splitter->insertWidget(0, splitter2);

结果:

在此处输入图像描述

于 2015-05-22T14:27:35.797 回答