Qt,Designer 在 scrollArea 中创建了 scrollAreaWidgetContents,但我无法调整图像标签的大小

Pou*_*sen 5 c++ qt

我已将滚动区域拖到设计器中,然后我拖了一个标签(imageLabel,用于 setPixmap)。然后我右键单击并将布局设置为网格。

scrollArea = new QS.....
scrollAreaWidgetContents = new QWidget();
gridlayout = new QGri..(scrollAreaWidgetContents);
imageLabel = new QLabel(scrollAreaWidgetContents);
gridLayout->addWidget(imageLabel,.....);

scrollArea->setWidget(scrollAreaWidgetContents);
Run Code Online (Sandbox Code Playgroud)

所以设计师创建了上面的代码,遗漏了一些部分,我现在在我的代码集中有 ui->imageLabel->setPixmap 并尝试做 ui->imageLabel->resize(200,200)。但图像始终为全尺寸 1600x1400 像素)。

网上的代码示例,好像是直接把imageLabel设置成scrollArea,省略了scrollAreaWidgetContents?但我似乎没有从设计师那里实现这一目标?

ale*_*sdm 0

resize当小部件位于布局内时,大多数情况下会被忽略。

您可以使用setFixedSizesetMinimumSize来强制指定尺寸或小于图像的尺寸。

您还需要将该QLabel scaledContents属性设置为True(在设计器中或使用QLabel::setScaledContents)以将图像缩放到标签尺寸。