如何用另一个替换Qsplitter中的小部件?

时间:2015-05-22 14:00:04

标签: qt qsplitter

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

PS:我不能从分割器中删除第一个小部件

1 个答案:

答案 0 :(得分: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);

现在我们按照widget0,widget2,widget1的顺序在它们之间有三个小部件和两个分割器。

<强>更新

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

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

结果:

enter image description here