gpt4 book ai didi

c++ - 在 QHBoxLayout 中将小部件添加到屏幕外以便稍后显示

转载 作者:行者123 更新时间:2023-11-28 04:43:22 26 4
gpt4 key购买 nike

我要做的基本上是一个包含三个项目的面板,中间一个具有屏幕大小(这里是 QScrollArea)。关键是我然后移动 QScrollArea 以根据需要显示左右项目,如下图所示。

Example GUI

这里,左右标签应该是隐藏的,中间的文本编辑占据了整个滚动区域(这里隐藏了滚动条)。单击左右两侧标有“结构”和“选项”的按钮应滚动所述滚动区域并显示相应的选项卡。 Qt Designer结构如下:

Qt Designer structure

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 行没有任何改变,但我已经探索了这种可能性。

最佳答案

看起来你可以用 QSplitter 来处理

顺便提一下,您不应该使用 show 来进行此类设置。该方法不仅在第一次显示小部件时被调用。

关于c++ - 在 QHBoxLayout 中将小部件添加到屏幕外以便稍后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49762137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com