?一、前言
?????????QAbstractScrollArea滾屏區域抽象類繼承于QFrame,QFrame繼承于QWidget,是QListview(列表瀏覽器)、QTableview(表格瀏覽器)、QTextEdit(文本編輯器)、QTextBrowser(文本瀏覽器)等所有需要滾屏區域部件的抽象基類。
????????框架類QFrame介紹
?????????QAbstractScrollArea提供了一個中心區域(viewport),該區域的內容可以在這里滾動,提供了垂直和水平滾動條,滾動條可以選擇隱藏/顯示,窗口會自動擴展/縮小。
?二、QAbstractScrollArea類
1、horizontalScrollBarPolicy
??????? 該屬性表示水平滾動條的策略,默認Qt::ScrollBarAsNeeded。
Qt::ScrollBarPolicy horizontalScrollBarPolicy() const
void setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy)
2、verticalScrollBarPolicy
????????該屬性表示垂直滾動條的策略,默認Qt::ScrollBarAsNeeded。
Qt::ScrollBarPolicy verticalScrollBarPolicy() const
void setVerticalScrollBarPolicy(Qt::ScrollBarPolicy)
標識 描述 Qt::ScrollBarAsNeeded 內容過大的時候自動顯示 Qt::ScrollBarAlwaysOff 總是隱藏 Qt::ScrollBarAlwaysOn 總是顯示,在一些有瞬時滾動條的系統被忽略,比如MAC 10.7
3、sizeAdjustPolicy
????????該屬性表示當視口(viewport)大小改變時滾動區域大小如何改變的策略,默認不跟隨變化。
QAbstractScrollArea::SizeAdjustPolicy sizeAdjustPolicy() const
void setSizeAdjustPolicy(QAbstractScrollArea::SizeAdjustPolicy policy)
標識 描述 QAbstractScrollArea::AdjustIgnored 滾動區域不隨viewport變化調整 QAbstractScrollArea::AdjustToContents 滾動區域隨viewport變化調整 QAbstractScrollArea::AdjustToContentsOnFirstShow 滾動區域將在第一次顯示時隨viewport變化調整
4、成員函數
1)scrollBarWidget
??????? 使用addScrollBarWidget方法用于在滾動條旁邊添加一個小部件,按鈕、標簽、圖片等等。alignment使用Qt::AlignTop或者Qt::AlignBottom則添加到垂直滾動條上下,Qt::AlignLeft或者Qt::AlignRight則添加到水平滾動條左右。部件默認高度和寬度跟滾動條一樣,通過設置大小最小高度和寬度改變。
??????? 使用scrollBarWidgets方法獲取滾動條部件,上下左右最多四個。
void addScrollBarWidget(QWidget *widget, Qt::Alignment alignment)
QWidgetList scrollBarWidgets(Qt::Alignment alignment)
2)cornerWidget
??????? 獲取和設置滾動條之間角落的小部件,默認角落是沒有小部件的。
QWidget *cornerWidget() const
void setCornerWidget(QWidget *widget)
?3)horizontalScrollBar
??????? 獲取和設置水平滾動條QScrollBar,包含滾動條的范圍、值、步長等屬性的讀取和設置。?????? 滑塊類QScrollBar介紹。
QScrollBar *horizontalScrollBar() const
void setHorizontalScrollBar(QScrollBar *scrollBar)
4)verticalScrollBar
??????? 獲取和設置垂直滾動條QScrollBar,包含滾動條的范圍、值、步長等屬性的讀取和設置。?????? 滑塊類QScrollBar介紹。
QScrollBar *verticalScrollBar() const
void setVerticalScrollBar(QScrollBar *scrollBar)
5)viewport
??????? 獲取和設置視口部件。
QWidget *viewport() const
void setViewport(QWidget *widget)