Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QAbstractScrollArea
[модуль QtGui]

Виджет QAbstractScrollArea предоставляет прокручиваемую область с отображением, если требуется, полосами прокрутки. Далее...

#include <QAbstractScrollArea>

Наследует QFrame.

Наследуется QAbstractItemView, QScrollArea и QTextEdit.

Свойства

Открытые Функции

Защищенные Функции

Дополнительные Унаследованные Члены


Подробное Описание

Виджет QAbstractScrollArea предоставляет прокручиваемую область с отображением, если требуется, полосами прокрутки.

QAbstractScrollArea - это низкоуровневая абстракция прокручиваемой области. Он предоставляет полный контроль простыми средствами над полосами прокрутки. В большинстве случаев предпочтительней использовать QScrollArea.

Центральный дочерний виджет QAbstractScrollArea - это непосредственно область прокручивания, которую можно получить с помощью viewport(). Виджет области отображения занимает все доступное место. Рядом с областью отображения располагается вертикальная полоса прокрутки (доступна с помощью verticalScrollBar()), а ниже располагается горизонтальная полоса прокрутки (доступна с помощью horizontalScrollBar()). Каждая из полос прокрутки может быть видима или скрыта в зависимости от политики полосы прокрутки (см. verticalScrollBarPolicy и horizontalScrollBarPolicy). Если полоса прокрутки скрыта, то область отображения расширяется чтобы занять все доступное место. Когда полоса прокрутки снова становится видимой, область отображения сжимается чтобы предоставить место для полосы прокрутки.

С политикой полосы прокрутки, равной Qt::ScrollBarAsNeeded (по умолчанию), QAbstractScrollArea отображает полосы прокрутки, когда они обеспечивают отличный от нуля диапазон прокрутки и скрываются в противном случае. Вы можете настраивать диапазон каждой из полос прокрутки с помощью QAbstractSlider::setRange().

Для отслеживания движений полосы прокрутки, необходимо повторно реализовать виртуальную функцию scrollContentsBy(). Чтобы точно отслеживать перемещение полосы прокрутки, соедините сигналы полос прокрутки QAbstractSlider::actionTriggered() и реализуйте QAbstractSlider::sliderPosition как Вы желаете.

Возможно зарезервировать пространство по краям области отображения (см. setViewportMargins()). Эта возможность используется, главным образом, для того, чтобы разместить виджет QHeaderView ниже или около области прокручивания.

Для удобства QAbstractScrollArea делает все сообщения области отображения доступными в виртуальном обработчике viewportEvent(). Специальные обработчики сообщений QWidget заново нанесены на карту в случаях, где это имело смысл. Повторно нанесены на карту следующие обработчики сообщений: paintEvent(), mousePressEvent(), mouseReleaseEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), wheelEvent(), dragEnterEvent(), dragMoveEvent(), dragLeaveEvent(), dropEvent(), contextMenuEvent() и resizeEvent().


Описание Свойств

horizontalScrollBarPolicy : Qt::ScrollBarPolicy

Данное свойство содержит политику горизонтальной полосы прокрутки.

Политика по умолчанию - это Qt::ScrollBarAsNeeded.

Функции доступа:

См. также verticalScrollBarPolicy.

verticalScrollBarPolicy : Qt::ScrollBarPolicy

Данное свойство содержит политику вертикальной полосы прокрутки.

Политика по умолчанию - это Qt::ScrollBarAsNeeded.

Функции доступа:

См. также horizontalScrollBarPolicy.


Описание Функций-Членов

QAbstractScrollArea::QAbstractScrollArea ( QWidget * parent = 0 )

Создает область отображения.

Аргумент parent передается в конструктор QWidget.

QAbstractScrollArea::~QAbstractScrollArea ()

Разрушает область отображения.

void QAbstractScrollArea::contextMenuEvent ( QContextMenuEvent * e )   [virtual protected]

Данный обработчик сообщений должен быть повторно осуществлен в подклассе для обработки сообщений контекстного меню виджета viewport(). Сообщение передается через параметр e.

Повторно реализовано по отношению к QWidget.

См. также QWidget::contextMenuEvent().

void QAbstractScrollArea::dragEnterEvent ( QDragEnterEvent * event )   [virtual protected]

Данный обработчик сообщений должен быть повторно реализован в подклассе для обработки сообщения о том, что в процессе перетаскивания, перетаскиваемый объект попадает в область виджета viewport() (передается через параметр event).

Повторно реализовано по отношению к QWidget.

См. также QWidget::dragEnterEvent().

void QAbstractScrollArea::dragLeaveEvent ( QDragLeaveEvent * event )   [virtual protected]

Данный обработчик сообщений должен быть повторно реализован в подклассе для обработки сообщения о том, что в процессе перетаскивания, перетаскиваемый объект покидает область виджета viewport() (передается через параметр event).

Повторно реализовано по отношению к QWidget.

См. также QWidget::dragLeaveEvent().

void QAbstractScrollArea::dragMoveEvent ( QDragMoveEvent * event )   [virtual protected]

Данный обработчик сообщений должет быть повторно реализован в подклассе для обработки виджетом viewport() сообщений о том, что в процессе перетаскивания, перетаскиваемый объект перемещается виджетом viewport() (передается через параметр event).

Повторно реализовано по отношению к QWidget.

См. также QWidget::dragMoveEvent().

void QAbstractScrollArea::dropEvent ( QDropEvent * event )   [virtual protected]

Данный обработчик сообщений должен быть повторно реализован в подклассе для обработки виджетом viewport() сообщений о том, что в процессе перетаскивания, перетаскиваемый объект отпускается в области виджета (передается через параметр event).

Повторно реализовано по отношению к QWidget.

См. также QWidget::dropEvent().

bool QAbstractScrollArea::event ( QEvent * e )   [virtual protected]

Это главный обработчик сообщений виджета QAbstractScrollArea (не области прокрутки viewport()). Сообщение передается через параметр e.

Повторно реализовано по отношению к QObject.

QScrollBar * QAbstractScrollArea::horizontalScrollBar () const

Возвращает горизонтальную полосу прокрутки.

См. также horizontalScrollBarPolicy и verticalScrollBar().

void QAbstractScrollArea::keyPressEvent ( QKeyEvent * e )   [virtual protected]

Данная функция вызывается с сообщением клавиатуры e при нажатии клавиш клавиатуры. Обрабатывает PageUp, PageDown, Up, Down, Left и Right, и игнорирует нажатие всех других ключевых клавиш.

Повторно реализовано по отношению к QWidget.

QSize QAbstractScrollArea::maximumViewportSize () const

Возвращает размер, который будет иметь область отображения, в случае, когда полосы прокрутки не будут иметь значимый диапазон.

void QAbstractScrollArea::mouseDoubleClickEvent ( QMouseEvent * e )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений о двойном щелчке мыши виджетом viewport(). Сообщение передается через параметр e.

Повторно реализовано по отношению к QWidget.

См. также QWidget::mouseDoubleClickEvent().

void QAbstractScrollArea::mouseMoveEvent ( QMouseEvent * e )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений о перемещении мыши виджетом viewport(). Сообщение передается через параметр e.

Повторно реализовано по отношению к QWidget.

См. также QWidget::mouseMoveEvent().

void QAbstractScrollArea::mousePressEvent ( QMouseEvent * e )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений о нажатии кнопок мыши виджетом viewport(). Сообщение передается через параметр e.

Повторно реализовано по отношению к QWidget.

См. также QWidget::mousePressEvent().

void QAbstractScrollArea::mouseReleaseEvent ( QMouseEvent * e )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений об отпускании кнопок мыши виджетом viewport(). Сообщение передается через параметр e.

Повторно реализовано по отношению к QWidget.

См. также QWidget::mouseReleaseEvent().

void QAbstractScrollArea::paintEvent ( QPaintEvent * event )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений рисования (передается через event) виджетом viewport().

Обратите внимание: Если Вы создаете живописца, убедитесь в том, что открываете его на виджете viewport().

Повторно реализовано по отношению к QWidget.

См. также QWidget::paintEvent().

void QAbstractScrollArea::resizeEvent ( QResizeEvent * event )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений об изменении размера (передается через event) виджетом viewport(). Когда вызывается resizeEvent(), область отображения уже имеет новые размеры. Старые размеры можно получить через QResizeEvent::oldSize().

Повторно реализовано по отношению к QWidget.

См. также QWidget::resizeEvent().

void QAbstractScrollArea::scrollContentsBy ( int dx, int dy )   [virtual protected]

Прокручивает содержимое области отображения на (dx, dy).

Реализация по умолчанию просто обновляет весь viewport().

void QAbstractScrollArea::setViewportMargins ( int left, int top, int right, int bottom )   [protected]

Устанавливает пустое пространство по краям области прокрутки в left, top, right и bottom. Это удобно для таких приложений, как крупноформатные таблицы с "закрепленными" строками и столбцами. Незаполняемые края остаются пустыми; виджеты помещаются в неиспользуемую область.

По умолчанию ширина всех незаполняемых краев имеет нулевую ширину.

QScrollBar * QAbstractScrollArea::verticalScrollBar () const

Возвращает вертикальную полосу прокрутки.

См. также verticalScrollBarPolicy и horizontalScrollBar().

QWidget * QAbstractScrollArea::viewport () const

Возвращает виджет области отображения.

bool QAbstractScrollArea::viewportEvent ( QEvent * e )   [virtual protected]

Это основной обработчик сообщений области прокрутки (виджета viewport()). Обрабатывает сообщение e.

Вы можете повторно реализовать данную функция в подклассе, но мы рекомендуем вместо нее использовать один из специальных обработчиков.

Специальные обработчики соощений это: paintEvent(), mousePressEvent(), mouseReleaseEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), wheelEvent(), dragEnterEvent(), dragMoveEvent(), dragLeaveEvent(), dropEvent(), contextMenuEvent() и resizeEvent().

void QAbstractScrollArea::wheelEvent ( QWheelEvent * e )   [virtual protected]

Данный обработчик сообщений может быть повторно реализован в подклассе для обработки сообщений колеса мыши виджетом viewport(). Сообщение передается через параметр e.

Повторно реализовано по отношению к QWidget.

См. также QWidget::wheelEvent().


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz