有一天你遇到愚蠢的事情。我已设置最小/最大宽度,但默认为最大宽度。我希望它默认为最小宽度。我该怎么做。
答案 0 :(得分:3)
我也很难理解为什么没有“设置为这个大小,但是不固定值”的方法。称为调整大小,如下所示:
QWidget *widget= new QWidget();
label->resize(50,50);
答案 1 :(得分: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
答案 2 :(得分:0)
您的小部件是否在布局中?您可以尝试更改大小政策:
widget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
答案 3 :(得分:0)
考虑以下代码
QLabel *label = new QLabel();
label->setMinimumSize(50,50);
label->setMaximumSize(100,100);
label->setText("Hello World");
label->show();
此处标签将以50:50(宽度:高度)显示,我们可以将其放大到最大100:100(宽度:高度)。这里MinumumSize为50:50,MaximumSize为100:100。
答案 4 :(得分:0)
获取窗口小部件的默认大小可以使用:
完成QWidget widget(this);
widget.minimumSizeHint()
它返回最小尺寸,小部件希望必须能够显示内容。
E.g:
QSpinBox aSpinBox(this);
const QSize defaultSizeSpinBox = aSpinBox.minimumSizeHint();
std::cout << defaultSizeSpinBox.width() << std::endl;