C++?Qt實(shí)現(xiàn)動(dòng)態(tài)增加垂直滾動(dòng)條
問題起源
qt中一個(gè)頁面測試項(xiàng)一共很多種,如果都在一個(gè)頁面顯示就會(huì)顯得很臃腫,如果有個(gè)動(dòng)態(tài)創(chuàng)建時(shí)有個(gè)可以下拉的滾動(dòng)條就很好。下面讀者可以看下沒有滾動(dòng)條的頁面
問題解決方案
#include "widget.h" #include <QApplication> #include <QtGui> #include <QVBoxLayout> #include <QTableWidget> #include <QPushButton> #include <QLabel> #include <QScrollArea> #include<QGroupBox> #include<QCheckBox> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *page = new QWidget; //整個(gè)內(nèi)容 QVBoxLayout* mainLayout = new QVBoxLayout(page);//鋪滿整個(gè)頁面 QScrollArea* scrollArea = new QScrollArea; QWidget* contentWidget = new QWidget; QVBoxLayout* contentLayout = new QVBoxLayout(contentWidget);//將layout綁定起來了 scrollArea->setWidgetResizable(true); contentLayout->setAlignment(Qt::AlignTop); QTabWidget tabWidget; QWidget tab1,tab2; // 模擬數(shù)據(jù) QList<QString> caseNames; caseNames << "Case 1" << "Case 2" << "Case 3" << "Case 4" << "Case 5" << "Case 6" << "Case 7" << "Case 8"; for (int i = 0; i < caseNames.size(); i++) { if (i % 2 == 0) { // 每兩個(gè)groupBox為一行 QHBoxLayout* rowLayout = new QHBoxLayout(); contentLayout->addLayout(rowLayout); } QGroupBox* groupBox = new QGroupBox(caseNames[i], &tab1); groupBox->setFixedSize(200, 50); QVBoxLayout* groupBoxLayout = new QVBoxLayout(groupBox); groupBox->setLayout(groupBoxLayout); QCheckBox* checkBox = new QCheckBox(("Enabled"), groupBox); checkBox->setChecked(true); groupBoxLayout->addWidget(checkBox); QHBoxLayout* rowLayout = dynamic_cast<QHBoxLayout*>(contentLayout->itemAt(contentLayout->count() - 1)->layout()); rowLayout->addWidget(groupBox); } scrollArea->setWidget(contentWidget); // 將內(nèi)容窗口設(shè)置為滾動(dòng)區(qū)域的子控件 mainLayout->addWidget(&tabWidget); mainLayout->addWidget(scrollArea); // 將滾動(dòng)區(qū)域添加到主布局中 page->setLayout(mainLayout); page->show(); return a.exec(); }
問題解決效果
到此這篇關(guān)于C++ Qt實(shí)現(xiàn)動(dòng)態(tài)增加垂直滾動(dòng)條的文章就介紹到這了,更多相關(guān)C++ Qt動(dòng)態(tài)增加垂直滾動(dòng)條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實(shí)現(xiàn)簡單學(xué)生成績管理系統(tǒng)項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單學(xué)生成績管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07Linux中使用C語言實(shí)現(xiàn)基于UDP協(xié)議的Socket通信示例
這篇文章主要介紹了Linux中使用C語言實(shí)現(xiàn)基于UDP協(xié)議的socket通信示例,服務(wù)器端與客戶端的功能都非?;A(chǔ),需要的朋友可以參考下2016-03-03基于C語言實(shí)現(xiàn)學(xué)生選課系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于C語言實(shí)現(xiàn)學(xué)生選課系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02C語言數(shù)據(jù)的存儲(chǔ)超詳細(xì)講解下篇浮點(diǎn)型在內(nèi)存中的存取
使用編程語言進(jìn)行編程時(shí),需要用到各種變量來存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么2022-04-04C語言實(shí)現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實(shí)例詳解
這篇文章主要介紹了C語言實(shí)現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實(shí)例詳解的相關(guān)資料,這里對實(shí)現(xiàn)該函數(shù)進(jìn)行了代碼實(shí)現(xiàn),需要的朋友可以參考下2017-01-01