日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QScrollArea qt滚动区域的简单使用

發布時間:2023/12/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QScrollArea qt滚动区域的简单使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QScrollArea 最主要的方法在于setWidget(QWidget *widget),
簡單來說就是設置畫布的意思,通常我們在使用的時候需要先把需要的控件放到一個畫布里。而QScrollArea 就類似于我們拿著一個放大鏡去觀察這個畫布。所以想要出現滾動條,畫布的大小一定要比QScrollArea 大!
以下代碼示例:

mainLayout = new QVBoxLayout(this);mainLayout->setContentsMargins(11, 11, 11, 11);scroLLArea = new QScrollArea();QWidget *scrollAreaWidgetContents = new QWidget(); //創建畫布QScreen *screen = QGuiApplication::primaryScreen();QRect rect = screen->availableGeometry();//獲取當前屏幕像素大小scrollAreaWidgetContents->setFixedWidth(rect.width());scrollAreaWidgetContents->setFixedHeight(rect.height() + 1800); //這里設置畫布的高度比實際屏幕要大,方便出現滾動條//創建多個控件int initX = 35;int initY = 0;int fixSpace = 100;int hX = 0;int vY = initY;for (int i = 1; i < 50; i++){if (i % 2 != 0){btnButton = new QPushButton(scrollAreaWidgetContents);btnButton->move(initX, vY);hX = btnButton->x() + btnButton->width() + fixSpace;}else{btnButton = new QPushButton(scrollAreaWidgetContents);btnButton->move(hX, vY);vY += fixSpace;}btnButton->setText(QString::number(i));}scroLLArea->setWidget(scrollAreaWidgetContents); //設置畫布mainLayout->addWidget(scroLLArea); /*在主布局中添加QScrollArea ,這時候因為自動布局的關系,QScrollArea 的大小會與屏幕大小近似。所以它的大小小于畫布的大小!*/

最后,我們還可以對滾動條禁用。例如禁用橫向滾動條:

scroLLArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

效果圖

總結

以上是生活随笔為你收集整理的QScrollArea qt滚动区域的简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。