C++?Qt實(shí)現(xiàn)動(dòng)態(tài)增加垂直滾動(dòng)條
問(wèn)題起源
qt中一個(gè)頁(yè)面測(cè)試項(xiàng)一共很多種,如果都在一個(gè)頁(yè)面顯示就會(huì)顯得很臃腫,如果有個(gè)動(dòng)態(tài)創(chuàng)建時(shí)有個(gè)可以下拉的滾動(dòng)條就很好。下面讀者可以看下沒(méi)有滾動(dòng)條的頁(yè)面

問(wèn)題解決方案
#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è)頁(yè)面
QScrollArea* scrollArea = new QScrollArea;
QWidget* contentWidget = new QWidget;
QVBoxLayout* contentLayout = new QVBoxLayout(contentWidget);//將layout綁定起來(lái)了
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) { // 每?jī)蓚€(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();
}問(wèn)題解決效果

到此這篇關(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c語(yǔ)言枚舉類(lèi)型enum的用法及應(yīng)用實(shí)例
enum是C語(yǔ)言中的一個(gè)關(guān)鍵字,enum叫枚舉數(shù)據(jù)類(lèi)型,枚舉數(shù)據(jù)類(lèi)型描述的是一組整型值的集合,這篇文章主要給大家介紹了關(guān)于c語(yǔ)言枚舉類(lèi)型enum用法及應(yīng)用的相關(guān)資料,需要的朋友可以參考下2021-07-07
OpenCV圖像旋轉(zhuǎn)Rotate的詳細(xì)介紹
這篇文章主要介紹了OpenCV圖像旋轉(zhuǎn)Rotate,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列的相互實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言相互實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的棧與隊(duì)列,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-07-07
C語(yǔ)言使用鏈表實(shí)現(xiàn)學(xué)生籍貫管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言使用鏈表實(shí)現(xiàn)學(xué)生籍貫管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
輸入3個(gè)字符串,將它們按照字母由大到小排序(示例代碼)
我們可以用string方法定義字符串變量。以下是具體實(shí)現(xiàn)代碼。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10
C++ 中同名函數(shù)的實(shí)現(xiàn)原理與使用(函數(shù)重載)
本文詳細(xì)介紹了函數(shù)重載在C++中的實(shí)現(xiàn)原理、使用規(guī)則、適用場(chǎng)景及優(yōu)勢(shì),并提供了避坑指南,感興趣的朋友跟隨小編一起看看吧2026-01-01
visual studio 建立dll類(lèi)型工程、控制臺(tái)程序
這篇文章主要介紹了visual studio 建立dll、控制臺(tái)類(lèi)型工程的相關(guān)知識(shí),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05

