Qt,设计师创建scrollAreaWidgetContents在scrollArea,我不能调整我的imagelabe

Qt, Designer creates scrollAreaWidgetContents in scrollArea, and i cant resize my imagelabel

本文关键字:不能 调整 imagelabe 我的 设计师 创建 scrollAreaWidgetContents Qt scrollArea      更新时间:2023-10-16

我拖拽了一个滚动区域到设计器中,然后拖拽了一个标签(imageLabel, for 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?但我似乎没有从设计师那里实现这一点?

resize在布局中被忽略。

您可以使用setFixedSizesetMinimumSize来强制大小或小于图像的大小。

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

在设计器中创建布局将布局边距更改为零。这将产生与从链中删除scrollAreaWidgetContents相同的结果,并且可以通过设计器实现。

相关文章: