Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea

 一、前言

         QAbstractScrollArea滚屏区域抽象类继承于QFrameQFrame继承于QWidget是QListview(列表浏览器)、QTableview(表格浏览器)、QTextEdit(文本编辑器)、QTextBrowser(文本浏览器)等所有需要滚屏区域部件的抽象基类。

        框架类QFrame介绍

Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea_第1张图片

         QAbstractScrollArea提供了一个中心区域(viewport),该区域的内容可以在这里滚动,提供了垂直和水平滚动条,滚动条可以选择隐藏/显示,窗口会自动扩展/缩小。

Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea_第2张图片

 二、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)

Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea_第3张图片

2)cornerWidget

        获取和设置滚动条之间角落的小部件,默认角落是没有小部件的。

QWidget *cornerWidget() const
void setCornerWidget(QWidget *widget)

Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea_第4张图片

 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)

你可能感兴趣的:(Qt5从入门到精通-应用开发,qt,c++,上位机,PC)