[英]Qt set default width of a QWidget
當你被一些愚蠢的事情卡住的那些日子之一。 我設置了最小/最大寬度,但默認為最大寬度。 我希望它默認為最小寬度。 我該怎么做。
我也很難理解為什么沒有“設置為這個大小,但不修復值”的方法。 它被稱為調整大小,如下所示:
QWidget *widget= new QWidget();
label->resize(50,50);
考慮以下代碼
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。
您可以像這樣設置默認的最小寬度/高度:
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
您的小部件是否在布局中? 您可以嘗試更改大小策略:
widget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
可以使用以下方法獲取小部件的默認大小:
QWidget widget(this);
widget.minimumSizeHint()
它返回最小尺寸,小部件希望能夠顯示內容。
例如:
QSpinBox aSpinBox(this);
const QSize defaultSizeSpinBox = aSpinBox.minimumSizeHint();
std::cout << defaultSizeSpinBox.width() << std::endl;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.