QT中布局器的addStretch函數使用效果


QBoxLayout中addStretch

函數說明:

void QBoxLayout::addStretch(int stretch = 0)

Adds a stretchable space (a QSpacerItem) with zero minimum size and stretch factor stretch to the end of this box layout.

函數的作用是在布局器中增加一個伸縮量,里面的參數表示QSpacerItem的個數,默認值為零,會將你放在layout中的空間壓縮成默認的大小。

例如:一個layout布局器,里面有三個控件,一個放在最左邊,一個放在最右邊,最后一個放在layout的1/3處,這就可以通過addStretch去實現。

 

例:用addStretch函數實現將nLayout的布局器的空白空間平均分配

   QHBoxLayout *buttonLayout = new QHBoxLayout;
    QPushButton *button1;
    QPushButton *button2;
    QPushButton *button3;

    button1 = new QPushButton;
    button2 = new QPushButton;
    button3 = new QPushButton;

    buttonLayout->addStretch(1);
    buttonLayout->addWidget(button1);
    buttonLayout->addStretch(1);
    buttonLayout->addWidget(button2);
    buttonLayout->addStretch(1);
    buttonLayout->addWidget(button3);
    buttonLayout->addStretch(6);

    buttonLayout->setContentsMargins(0, 0, 0, 0);

運行結果:

 

其中四個addStretch()函數用於在button按鈕間增加伸縮量,伸縮量的比例為1:1:1:6,意思就是將button以外的空白地方按設定的比例等分為9份並按照設定的順序放入buttonLayout布局器中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM