我已将滚动区域拖动到设计器中,然后我拖动了一个标签(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?但我似乎没有从设计师那里实现这一目标?
答案 0 :(得分:0)
resize
。
您可以使用setFixedSize
或setMinimumSize
来强制缩小尺寸或缩小尺寸。
您还需要将QLabel
scaledContents
属性设置为True
(在设计器中或QLabel::setScaledContents
),以将图像缩放到标签大小。
答案 1 :(得分:0)
在设计器中创建布局。将布局边距更改为零。这应该产生与从链中删除scrollAreaWidgetContents相同的结果,但仍然可以通过设计者完成。