Qt_QScrollArea 用法 QScrollArea不顯示 QScrollArea沒鋪滿
阿新 • • 發佈:2021-01-04
技術標籤:QtQScrollArea用法QScrollArea程式碼生成QScrollArea
文章目錄
1.效果
我們實現一個元件鋪滿滾動區的效果
錯誤效果
2.簡述
在設計器裡邊用滾動區很簡單,先這樣然後這樣就可以了。。。
但是手寫程式碼沒理解的話就容易出現不顯示,加了佈局器沒拉伸的效果。如上沒鋪滿示例。
重要的就是這個
setWidgetResizable(true);
文件解釋
這個屬性用於控制滾動區域是否需要調整檢視小部件的大小。
如果這個屬性被設定為false(預設值),滾動區域表示它的小部件的大小。不管這個屬性是什麼,你都可以使用widget()->resize()以程式設計方式調整小部件的大小,滾動區域會自動調整到新的大小。 如果這個屬性設定為true,滾動區域將自動調整小部件的大小,以避免滾動條,或者利用額外的空間。
3.程式碼
QWidget *pWidgetF = new QWidget(this);
QVBoxLayout *pLayout = new QVBoxLayout(pWidgetF);
pLayout->setContentsMargins(0,6,0,6);
for(int i = 0 ; i < 50;i++){
QPushButton *pBtn = new QPushButton(this);
pBtn->setText ("按鈕");
pLayout->addWidget(pBtn);
}
pLayout->addStretch();
QScrollArea *pScrollArea = new QScrollArea(this);
pScrollArea->setWidgetResizable(true);//!!!注意 不加這個widget不會被ScroolArea拉伸 而是原有大小
pScrollArea->setWidget(pWidgetF);
pScrollArea->setStyleSheet ("QScrollArea{border:none; background:red;}");