gpt4 book ai didi

c++ - Qt - QScrollArea 小部件剪辑内容

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:25 24 4
gpt4 key购买 nike

我正在尝试向我修改的拖放示例源添加滚动。该示例简单地绘制了几个可拖动的 QLabel 小部件。我正在以创建更多不同长度小部件的方式对其进行修改。

我创建了一个将由 main 调用并包含滚动小部件的类,该小部件又将包含绘制 QLabel 的原始小部件。这个类的唯一方法是构造函数,下面是它的实现:

layoutWidget::layoutWidget(QWidget *parent) : QWidget(parent){
QScrollArea *scroll = new QScrollArea();
QVBoxLayout *layout = new QVBoxLayout();

//widget that draws the draggable labels
Widget *w = new Widget();

scroll->setWidget(w);
scroll->setBackgroundRole(QPalette::Light);

layout->addWidget(scroll);

setLayout(layout);
}

我在 Widget 构造函数上使用 setMinimumSize()。当我运行程序时,只绘制 setMinimumSize() 定义的区域内的内容,其余部分被剪掉。我错过了什么吗?

最佳答案

您的小部件很可能需要将自身调整为完整大小以显示其内容。可能发生的情况是您设置的最小尺寸是它获得的唯一尺寸,因此它使用它。我建议向小部件添加一个布局,使其根据其子项动态调整大小,但我认为这对可拖动的内容效果不佳。

关于c++ - Qt - QScrollArea 小部件剪辑内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244890/

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