簡體   English   中英

Qt 設置 QWidget 的默認寬度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM