Qt,Designer在scrollArea中创建scrollAreaWidgetContents,我无法调整我的imagelabel

时间:2011-09-21 04:55:18

标签: c++ qt

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

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

scrollArea->setWidget(scrollAreaWidgetContents);

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

围绕网络的代码示例,似乎他们将imageLabel直接设置为scrollArea并省略了scrollAreaWidgetContents?但我似乎没有从设计师那里实现这一目标?

2 个答案:

答案 0 :(得分:0)

当窗口小部件位于布局中时,大多数时候忽略

resize

您可以使用setFixedSizesetMinimumSize来强制缩小尺寸或缩小尺寸。

您还需要将QLabel scaledContents属性设置为True(在设计器中或QLabel::setScaledContents),以将图像缩放到标签大小。

答案 1 :(得分:0)

在设计器中创建布局。将布局边距更改为零。这应该产生与从链中删除scrollAreaWidgetContents相同的结果,但仍然可以通过设计者完成。