我想要的东西基本上是一个包含三个项目的面板,中间的一个具有屏幕的大小(这里是QScrollArea)。关键是我然后根据需要移动QScrollArea以显示左侧和右侧项目,如下图所示。
这里,左侧和右侧标签应该被隐藏,中间的文本编辑占据了整个滚动区域(这里隐藏了滚动条)。单击标有" Structure"的按钮;和"选项"在左侧和右侧应滚动所述滚动区域并显示相应的选项卡。 Qt Designer结构如下:
mrte_text
是我自己的WYSIWYG小部件的自定义类。这两个选项卡都是为我在MainWindow::show
添加以下代码的场合创建的临时窗口小部件:
void MainWindow::show()
{
QHBoxLayout *l = (QHBoxLayout*)ui->scrollAreaWidgetContents->layout();
QMainWindow::show();
l->insertWidget(0, searchTab);
l->insertWidget(2, chatTab);
baseX = ui->scrollAreaWidgetContents->x();
baseY = ui->scrollAreaWidgetContents->y();
searchTab->move(baseX - searchTab->width(), baseY);
chatTab->move(baseX + ui->mrte_text->width(), baseY);
}
移动标签似乎没有做任何事情,因为删除move
行没有任何改变,但我已经探索过这种可能性。