有一天,当您陷入愚蠢的事情时。我已经设置了最小/最大宽度,但它默认为最大宽度。我希望它默认为最小宽度。我该怎么做呢。
问问题
12096 次
5 回答
2
我也很难理解为什么没有“设置为这个大小,但不修复值”的方法。它被称为调整大小,如下所示:
QWidget *widget= new QWidget();
label->resize(50,50);
于 2020-06-19T02:24:08.433 回答
0
考虑以下代码
QLabel *label = new QLabel();
label->setMinimumSize(50,50);
label->setMaximumSize(100,100);
label->setText("Hello World");
label->show();
这里的标签将以 50:50(width:height) 的大小显示,我们可以将其放大到最大 100:100(width:height)。此处 MinumumSize 为 50:50,MaximumSize 为 100:100。
于 2013-08-09T06:42:34.243 回答
-1
您的小部件在布局中吗?您可以尝试更改大小策略:
widget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
于 2013-08-09T05:51:16.463 回答
-1
您可以像这样设置默认的最小宽度/高度:
int width = 100;
int height = 100;
QWidget * widget = new QWidget();
widget->setMinimumSize(width, height);
widget->deleteLater();
在此处查看有关 setMinimumSize 的更多信息:http: //qt-project.org/doc/qt-4.8/qwidget.html#minimumSize-prop
于 2013-08-08T18:11:41.527 回答
-1
可以使用以下方法获取小部件的默认大小:
QWidget widget(this);
widget.minimumSizeHint()
它返回最小尺寸,小部件希望能够显示内容。
例如:
QSpinBox aSpinBox(this);
const QSize defaultSizeSpinBox = aSpinBox.minimumSizeHint();
std::cout << defaultSizeSpinBox.width() << std::endl;
于 2016-12-16T15:33:27.613 回答