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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

QScrollArea 详解

發(fā)布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QScrollArea 详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

QScrollArea?滾動區(qū)域

? ?滾動區(qū)域用于顯示框架內子窗口小部件的內容。 如果窗口小部件超出框架的大小,則視圖可以提供滾動條,以便可以查看子窗口小部件的整個區(qū)域。 子窗口小部件必須使用setWidget()指定。

繼承關系

成員函數(shù)

alignment:?

屬性保存滾動區(qū)域的小部件的對齊方式?

  • Qt::Alignment?alignment() const
  • void?setAlignment(Qt::Alignment)

有效的對齊方式是以下標志的組合:

  • Qt::AlignLeft
  • Qt::AlignHCenter
  • Qt::AlignRight
  • Qt::AlignTop
  • Qt::AlignVCenter
  • Qt::AlignBottom

widgetResizable:

? ? 屬性保存滾動區(qū)域是否應調整視圖小部件的大小,如果將此屬性設置為false(默認值),則滾動區(qū)域將遵循其小部件的大小。 無論此屬性如何,都可以使用widget()-> resize()以編程方式調整窗口小部件的大小,并且滾動區(qū)域將自動將其自身調整為新的大小。如果將此屬性設置為true,則滾動區(qū)域將自動調整窗口小部件的大小,以避免在可以避免滾動條的地方使用滾動條,或者利用多余的空間。

?

  • bool?widgetResizable() const
  • void?setWidgetResizable(bool resizable)

子窗口

  • void?setWidget(QWidget *widget)? ? //設置滾動區(qū)域的小部件。
  • QWidget *takeWidget()? ?//刪除滾動區(qū)域的窗口小部件,并將該窗口小部件的所有權傳遞給調用方。
  • QWidget *widget() const?

位置關系(沒驗證出來有啥作用, 有自知道的歡迎留言)

  • void QScrollArea::ensureVisible(int x, int y, int xmargin = 50, int ymargin = 50)

滾動滾動區(qū)域的內容,以使點(x,y)在視口區(qū)域內部可見,其邊距由xmargin和ymargin以像素指定。 如果無法達到指定點,則將內容滾動到最近的有效位置。 兩個邊距的默認值為50像素。

  • void?ensureWidgetVisible(QWidget *childWidget, int xmargin = 50, int ymargin = 50)

? 滾動滾動區(qū)域的內容,以使QScrollArea :: widget()的childWidget在視口內可見,其邊距由xmargin和ymargin指定以像素為單位。 如果無法達到指定點,則將內容滾動到最近的有效位置。 兩個邊距的默認值為50像素。 此功能在Qt 4.2中引入。

示例代碼

#include <QApplication> #include <QLabel> #include <QImage> #include <QScrollArea> #include <QHBoxLayout> int main(int argc, char *argv[]) {QApplication a(argc, argv);QWidget w;QLabel *label = new QLabel(&w);QImage image("E:\\Qt\\QmlCalss_1\\icon\\jpg1.jpg");QHBoxLayout *lay=new QHBoxLayout(&w);label->setPixmap(QPixmap::fromImage(image));//創(chuàng)建滾動區(qū),QScrollArea *scrollarea = new QScrollArea(&w);//將Widget組件加入滾動區(qū)scrollarea->setWidget(label);scrollarea->ensureWidgetVisible(label);//自動改變滾動區(qū)大小scrollarea->setWidgetResizable(1);//設置滾動區(qū)背景顏色scrollarea->setBackgroundRole(QPalette::NoRole);lay->addWidget(scrollarea);//解決布局周圍有變框問題lay->setContentsMargins(0, 0, 0, 0);w.setLayout(lay);w.show();return a.exec(); }

?

總結

以上是生活随笔為你收集整理的QScrollArea 详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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