gpt4 book ai didi

c++ - QScrollArea - 有很多 child 的小部件的滚动条

转载 作者:行者123 更新时间:2023-11-30 03:45:30 24 4
gpt4 key购买 nike

所以,我在使用 QScrollArea 时遇到了一些问题。

我想在 QScrollArea 中放置一个有很多子项的小部件,但我就是没有任何滚动条。

代码如下:

QDialog *dialog = new QDialog();
QVBoxLayout *dialoglayout = new QVBoxLayout( dialog );

QScrollArea *area = new QScrollArea();

dialoglayout->setMargin( 0 );
dialoglayout->addWidget( area );

area->setAlignment( Qt::AlignCenter );
area->setAlignment( Qt::AlignTop );
area->setWidgetResizable( true );

// mainwidget has a lot of children
QWidget *mainwidget = randomclass.getWidget();
QVBoxLayout *mainwidgetlayout = new QVBoxLayout( mainwidget );

dialog->setWindowFlags( Qt::Window );

area->setWidget( mainwidget );

dialog->showMaximized();

如果 mainwidget 比 scrollarea 大,内容就会溢出。

谁能帮帮我?提前致谢。

最佳答案

一些小部件不报告要滚动的区域,这会导致与滚动区域混淆。为QScrollarea对象调整内容:

myWidget->setMinimumSize(myWidget->sizeHint());  // assume the min size 
scrollArea->setWidget( myWidget ); // use that widget in scroll area

还可能需要根据内容启用特定的滚动条:

scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);

关于c++ - QScrollArea - 有很多 child 的小部件的滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34751554/

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