QAbstractScrollArea Class
QAbstractScrollArea ウィジェットは、必要に応じてスクロールバーが表示されるスクロール領域を提供します。詳細...
| ヘッダー: | #include <QAbstractScrollArea> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QFrame |
| 継承元: | QAbstractItemView、QGraphicsView 、QMdiArea 、QPlainTextEdit 、QScrollArea 、およびQTextEdit |
パブリック型
| enum | SizeAdjustPolicy { AdjustIgnored, AdjustToContents, AdjustToContentsOnFirstShow } |
プロパティ
- horizontalScrollBarPolicy : Qt::ScrollBarPolicy
- sizeAdjustPolicy : SizeAdjustPolicy
- verticalScrollBarPolicy : Qt::ScrollBarPolicy
パブリック関数
| QAbstractScrollArea(QWidget *parent = nullptr) | |
| virtual | ~QAbstractScrollArea() |
| void | addScrollBarWidget(QWidget *widget, Qt::Alignment alignment) |
| QWidget * | cornerWidget() const |
| QScrollBar * | horizontalScrollBar() const |
| Qt::ScrollBarPolicy | horizontalScrollBarPolicy() const |
| QSize | maximumViewportSize() const |
| QWidgetList | scrollBarWidgets(Qt::Alignment alignment) |
| void | setCornerWidget(QWidget *widget) |
| void | setHorizontalScrollBar(QScrollBar *scrollBar) |
| void | setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy) |
| void | setSizeAdjustPolicy(QAbstractScrollArea::SizeAdjustPolicy policy) |
| void | setVerticalScrollBar(QScrollBar *scrollBar) |
| void | setVerticalScrollBarPolicy(Qt::ScrollBarPolicy) |
| void | setViewport(QWidget *widget) |
| virtual void | setupViewport(QWidget *viewport) |
| QAbstractScrollArea::SizeAdjustPolicy | sizeAdjustPolicy() const |
| QScrollBar * | verticalScrollBar() const |
| Qt::ScrollBarPolicy | verticalScrollBarPolicy() const |
| QWidget * | viewport() const |
再実装されたパブリック関数
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
プロテクトされた関数
| virtual void | scrollContentsBy(int dx, int dy) |
| void | setViewportMargins(const QMargins &margins) |
| void | setViewportMargins(int left, int top, int right, int bottom) |
| virtual bool | viewportEvent(QEvent *event) |
| QMargins | viewportMargins() const |
| virtual QSize | viewportSizeHint() const |
再実装されたプロテクトされた関数
| virtual void | contextMenuEvent(QContextMenuEvent *e) override |
| virtual void | dragEnterEvent(QDragEnterEvent *event) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *event) override |
| virtual void | dragMoveEvent(QDragMoveEvent *event) override |
| virtual void | dropEvent(QDropEvent *event) override |
| virtual bool | event(QEvent *event) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual void | resizeEvent(QResizeEvent *event) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
詳細な説明
QAbstractScrollArea は、スクロール領域の低レベルの抽象化です。この領域は、ビューポートと呼ばれる中央のウィジェットを提供し、その中に領域の内容がスクロールされます(つまり、内容の可視部分がビューポートに描画されます)。
ビューポートの横には垂直スクロールバーがあり、その下には水平スクロールバーがあります。 領域のコンテンツがすべてビューポートに収まる場合、各スクロールバーは、そのQt::ScrollBarPolicy の設定に応じて、表示されるか非表示になるかします。スクロールバーが非表示になると、ビューポートは利用可能なスペース全体を覆うように拡大します。スクロールバーが再び表示されると、ビューポートはスクロールバーのためのスペースを確保するために縮小します。
ビューポートの周囲にマージン領域を確保することが可能です。詳細はsetViewportMargins()を参照してください。この機能は主に、スクロール領域の上部または横にQHeaderView ウィジェットを配置するために使用されます。QAbstractScrollAreaのサブクラスは、マージンを実装する必要があります。
QAbstractScrollArea を継承する際は、以下の処理を行う必要があります。
- スクロールバーの範囲、値、ページステップを設定し、その動きを追跡することで、スクロールバーを制御します。
- スクロールバーの値に応じて、ビューポート内に領域の内容を描画します。
- viewportEvent() 内で、ビューポートが受信したイベント(特にサイズ変更イベント)を処理します。
- すべての描画操作はビューポート上で行われるため、update() の代わりに
viewport->update()を使用してビューポートの内容を更新してください。
Qt::ScrollBarAsNeeded (デフォルト)のスクロールバーポリシーでは、QAbstractScrollArea は、スクロール範囲が 0 以外の場合にスクロールバーを表示し、それ以外の場合は非表示にします。
ビューポートがリサイズイベントを受信したとき、またはコンテンツのサイズが変更されたときは、スクロールバーとビューポートを更新する必要があります。また、スクロールバーの値が変更されたときにも、ビューポートを更新する必要があります。スクロールバーの初期値は、多くの場合、エリアが新しいコンテンツを受け取ったときに設定されます。
ここでは、任意のQWidget をスクロールできるスクロール領域を実装した簡単な例を示します。ウィジェットをビューポートの子に設定します。こうすることで、ウィジェットのどの部分を描画すべきかを計算する必要がなく、QWidget::move() を使用してウィジェットを単純に移動させることができます。領域の内容やビューポートのサイズが変更された場合は、次のように処理します:
QSize areaSize = viewport()->size();
QSize widgetSize = widget->size();
verticalScrollBar()->setPageStep(areaSize.height());
horizontalScrollBar()->setPageStep(areaSize.width());
verticalScrollBar()->setRange(0, widgetSize.height() - areaSize.height());
horizontalScrollBar()->setRange(0, widgetSize.width() - areaSize.width());
updateWidgetPosition();スクロールバーの値が変更されたときは、ウィジェットの位置を更新する必要があります。つまり、ビューポート内で描画すべきウィジェットの部分を見つける必要があります:
int hvalue = horizontalScrollBar()->value();
int vvalue = verticalScrollBar()->value();
QPoint topLeft = viewport()->rect().topLeft();
widget->move(topLeft.x() - hvalue, topLeft.y() - vvalue);スクロールバーの動きを追跡するには、仮想関数 `scrollContentsBy()` を再実装します。スクロールの挙動を微調整するには、スクロールバーの `QAbstractSlider::actionTriggered()` シグナルに接続し、必要に応じて `QAbstractSlider::sliderPosition ` を調整します。
利便性を高めるため、QAbstractScrollArea では、仮想関数 `viewportEvent()` のハンドラ内で、すべてのビューポートイベントを利用できるようにしています。QWidget の特化ハンドラは、それが妥当な場合にはビューポートイベントに再マッピングされます。 再マッピングされる特殊なハンドラは、paintEvent()、mousePressEvent()、mouseReleaseEvent()、mouseDoubleClickEvent()、mouseMoveEvent()、wheelEvent()、dragEnterEvent()、dragMoveEvent()、dragLeaveEvent()、dropEvent()、contextMenuEvent()、およびresizeEvent() です。
QScrollAreaは、QAbstractScrollAreaを継承しており、任意のQWidget に対してスムーズなスクロール機能を提供します(つまり、ウィジェットはピクセル単位でスクロールされます)。 より特殊な動作が必要な場合にのみ、QAbstractScrollAreaをサブクラス化する必要があります。例えば、領域のコンテンツ全体がQWidget 上で描画されるのに適していない場合や、スムーズなスクロールを望まない場合などがこれに該当します。
QScrollAreaも参照してください 。
メンバ型のドキュメント
enum QAbstractScrollArea::SizeAdjustPolicy
この列挙型は、ビューポートのサイズが変更された際に、QAbstractScrollArea のサイズヒントをどのように調整するかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QAbstractScrollArea::AdjustIgnored | 0 | スクロール領域は従来どおりに動作し、調整は行われません。 |
QAbstractScrollArea::AdjustToContents | 2 | スクロール領域は常にビューポートに合わせて調整されます |
QAbstractScrollArea::AdjustToContentsOnFirstShow | 1 | スクロール領域は、最初に表示されたときにそのビューポートに合わせて調整されます。 |
プロパティのドキュメント
horizontalScrollBarPolicy : Qt::ScrollBarPolicy
このプロパティは、水平スクロールバーのポリシーを指定します
デフォルトのポリシーは「Qt::ScrollBarAsNeeded 」です。
アクセス関数:
| Qt::ScrollBarPolicy | horizontalScrollBarPolicy() const |
| void | setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy) |
「verticalScrollBarPolicy」も参照してください 。
sizeAdjustPolicy : SizeAdjustPolicy
このプロパティは、ビューポートのサイズが変更された際に、スクロール領域のサイズがどのように変化するかを記述するポリシーを保持します。
デフォルトのポリシーは `QAbstractScrollArea::AdjustIgnored` です。このプロパティを変更すると、実際にスクロール領域のサイズが変更される場合があります。
アクセス関数:
| QAbstractScrollArea::SizeAdjustPolicy | sizeAdjustPolicy() const |
| void | setSizeAdjustPolicy(QAbstractScrollArea::SizeAdjustPolicy policy) |
verticalScrollBarPolicy : Qt::ScrollBarPolicy
このプロパティは、垂直スクロールバーのポリシーを保持します
デフォルトのポリシーは「Qt::ScrollBarAsNeeded 」です。
アクセス関数:
| Qt::ScrollBarPolicy | verticalScrollBarPolicy() const |
| void | setVerticalScrollBarPolicy(Qt::ScrollBarPolicy) |
「horizontalScrollBarPolicy」も参照してください 。
メンバー関数のドキュメント
[explicit] QAbstractScrollArea::QAbstractScrollArea(QWidget *parent = nullptr)
ビューポートを構築します。
parent 引数は、QWidget コンストラクタに渡されます。
[virtual noexcept] QAbstractScrollArea::~QAbstractScrollArea()
ビューポートを破棄します。
void QAbstractScrollArea::addScrollBarWidget(QWidget *widget, Qt::Alignment alignment)
alignment で指定された位置に、widget をスクロールバーウィジェットとして追加します。
スクロールバーウィジェットは、水平または垂直のスクロールバーの横に表示され、その左右どちらにも配置できます。スクロールバーウィジェットを常に表示させたい場合は、対応するスクロールバーの scrollBarPolicy をAlwaysOn に設定してください。
alignment 値は、水平スクロールバーに対応する Qt::Alignleft およびQt::AlignRight 、あるいは垂直スクロールバーに対応するQt::AlignTop およびQt::AlignBottom のいずれかでなければなりません。
スクロールバーウィジェットは、ウィジェットの親を再設定するか、ウィジェットを削除することで削除できます。また、QWidget::hide() を使用してウィジェットを非表示にすることも可能です。
スクロールバーウィジェットは、現在のスタイルのスクロールバーのジオメトリに合わせてサイズが調整されます。以下では、水平スクロールバー上のスクロールバーウィジェットの場合について説明します:
ウィジェットの高さは、スクロールバーの高さに合わせて設定されます。ウィジェットの幅を制御するには、QWidget::setMinimumWidth およびQWidget::setMaximumWidth を使用するか、QWidget::sizeHint()を実装して水平方向のサイズポリシーを設定してください。正方形のウィジェットにしたい場合は、QStyle::pixelMetric(QStyle::PM_ScrollBarExtent)を呼び出し、幅をこの値に設定してください。
scrollBarWidgets()も参照してください 。
[override virtual protected] void QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e)
再実装対象:QWidget::contextMenuEvent(QContextMenuEvent *event)。
このイベントハンドラは、viewport() ウィジェットのコンテキストメニューイベントを受け取るために、サブクラスで再実装することができます。イベントはe で渡されます。
QWidget::contextMenuEvent()も参照してください 。
QWidget *QAbstractScrollArea::cornerWidget() const
2つのスクロールバーの間の角にあるウィジェットを返します。
デフォルトでは、コーナーウィジェットは存在しません。
setCornerWidget()も参照してください 。
[override virtual protected] void QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event)
再実装対象:QWidget::dragEnterEvent(QDragEnterEvent *event)。
このイベントハンドラは、viewport() ウィジェットのドラッグ開始イベント(event で渡される)を受け取るために、サブクラスで再実装することができます。
QWidget::dragEnterEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event)
再実装対象:QWidget::dragLeaveEvent(QDragLeaveEvent *event)。
このイベントハンドラは、viewport() ウィジェットに対して、ドラッグ離脱イベント(event で渡される)を受け取るために、サブクラスで再実装することができます。
QWidget::dragLeaveEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event)
QWidget::dragMoveEvent(QDragMoveEvent *event) を再実装します。
このイベントハンドラは、viewport() ウィジェットのドラッグ移動イベント(event で渡される)を受け取るために、サブクラスで再実装することができます。
QWidget::dragMoveEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::dropEvent(QDropEvent *event)
QWidget::dropEvent(QDropEvent *event) を再実装します。
このイベントハンドラは、viewport() ウィジェットに対して、ドロップイベント(event で渡される)を受け取るために、サブクラスで再実装することができます。
QWidget::dropEvent()も参照してください 。
[override virtual protected] bool QAbstractScrollArea::event(QEvent *event)
QFrame::event(QEvent *e) を再実装します。
これは、QAbstractScrollArea ウィジェット(スクロール領域であるviewport()ではありません)のメインのイベントハンドラです。指定されたevent は汎用イベントオブジェクトであり、その型に応じて適切なクラスにキャストする必要がある場合があります。
QEvent::type()も参照してください 。
QScrollBar *QAbstractScrollArea::horizontalScrollBar() const
水平スクロールバーを返します。
setHorizontalScrollBar()、horizontalScrollBarPolicy 、およびverticalScrollBar()も参照してください 。
[override virtual protected] void QAbstractScrollArea::keyPressEvent(QKeyEvent *e)
QWidget::keyPressEvent(QKeyEvent *event) を再実装します。
この関数は、キーが押された際にキーイベントe とともに呼び出されます。この関数は、PageUp、PageDown、Up、Down、Left、Right を処理し、それ以外のキー入力はすべて無視します。
QSize QAbstractScrollArea::maximumViewportSize() const
スクロールバーに有効なスクロール範囲がない場合と同様に、ビューポートのサイズを返します。
[override virtual] QSize QAbstractScrollArea::minimumSizeHint() const
プロパティ「QWidget::minimumSizeHint 」のアクセス関数を再実装します。
[override virtual protected] void QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e)
再実装対象:QWidget::mouseDoubleClickEvent(QMouseEvent *event)。
このイベントハンドラは、viewport() ウィジェットのマウスダブルクリックイベントを受け取るために、サブクラスで再実装することができます。イベントは `e` を通じて渡されます。
QWidget::mouseDoubleClickEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e)
再実装対象:QWidget::mouseMoveEvent(QMouseEvent *event)。
このイベントハンドラは、viewport() ウィジェットのマウス移動イベントを受け取るために、サブクラスで再実装することができます。イベントは `e` を通じて渡されます。
QWidget::mouseMoveEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::mousePressEvent(QMouseEvent *e)
QWidget::mousePressEvent(QMouseEvent *event) を再実装します。
このイベントハンドラは、viewport() ウィジェットのマウス押下イベントを受け取るために、サブクラスで再実装することができます。イベントは `e` を通じて渡されます。
デフォルトの実装では、デフォルトのポップアップ処理のためにQWidget::mousePressEvent()を呼び出します。
QWidget::mousePressEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e)
再実装対象:QWidget::mouseReleaseEvent(QMouseEvent *event)。
このイベントハンドラをサブクラスで再実装することで、viewport() ウィジェットのマウス離しイベントを受け取ることができます。イベントは `e` を通じて渡されます。
QWidget::mouseReleaseEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::paintEvent(QPaintEvent *event)
QFrame::paintEvent (QPaintEvent *)を再実装します。
このイベントハンドラは、サブクラスで再実装することで、viewport() ウィジェットのペイントイベント(event で渡される)を受け取ることができます。
QWidget::paintEvent()も参照してください 。
[override virtual protected] void QAbstractScrollArea::resizeEvent(QResizeEvent *event)
QWidget::resizeEvent(QResizeEvent *event) を再実装します。
このイベントハンドラは、viewport() ウィジェットのリサイズイベント(event で渡される)を受け取るために、サブクラスで再実装することができます。
resizeEvent() が呼び出されると、ビューポートはすでに新しいジオメトリを持っています。新しいサイズはQResizeEvent::size() 関数を通じて、古いサイズはQResizeEvent::oldSize() を通じて取得できます。
QWidget::resizeEvent()も参照してください 。
QWidgetList QAbstractScrollArea::scrollBarWidgets(Qt::Alignment alignment)
現在設定されているスクロールバーウィジェットのリストを返します。alignment には、4つの位置フラグの任意の組み合わせを指定できます。
addScrollBarWidget()も参照してください 。
[virtual protected] void QAbstractScrollArea::scrollContentsBy(int dx, int dy)
この仮想ハンドラは、dx やdy によってスクロールバーが移動された際に呼び出され、それに応じてビューポートの内容をスクロールする必要があります。
デフォルトの実装では、単にviewport() の全体に対してupdate() を呼び出すだけですが、サブクラスは最適化の目的で、あるいはQScrollArea のようにコンテンツウィジェットを移動させるために、このハンドラを再実装することができます。パラメータdx およびdy は便宜上用意されており、クラスがスクロールすべき量を把握できるようにするためのものです(例えば、ピクセル単位のシフトを行う際に役立ちます)。 これらの値を無視して、スクロールバーが示す位置に直接スクロールすることも可能です。
プログラムからこの関数を呼び出してスクロールを行うのは誤りです。代わりにスクロールバーを使用してください(例:QScrollBar::setValue() を直接呼び出すなど)。
void QAbstractScrollArea::setCornerWidget(QWidget *widget)
2つのスクロールバーの間の角にあるウィジェットを、widget に設定します。
おそらく、少なくとも1つのスクロールバーのモードをAlwaysOn に設定することも必要になるでしょう。
nullptr を指定すると、角にウィジェットは表示されません。
それ以前に設定されていたコーナーウィジェットは非表示になります。
setCornerWidget() を、異なるタイミングで同じウィジェットを指定して呼び出すことができます。
ここで設定されたすべてのウィジェットは、他のコーナーウィジェット(またはnullptr )を設定した後に個別に親を再設定しない限り、スクロールエリアが破棄される際に削除されます。
新しく設定されたウィジェットは、現在の親を持っていない必要があります。
デフォルトでは、コーナーウィジェットは存在しません。
cornerWidget() およびhorizontalScrollBarPolicyも参照してください 。
void QAbstractScrollArea::setHorizontalScrollBar(QScrollBar *scrollBar)
既存の水平スクロールバーをscrollBar に置き換え、元のスクロールバーのすべてのスライダープロパティを新しいスクロールバーに設定します。その後、元のスクロールバーは削除されます。
QAbstractScrollArea には、デフォルトで水平および垂直のスクロールバーがすでに用意されています。この関数を呼び出すことで、デフォルトの水平スクロールバーを独自のカスタムスクロールバーに置き換えることができます。
horizontalScrollBar() およびsetVerticalScrollBar()も参照してください 。
void QAbstractScrollArea::setVerticalScrollBar(QScrollBar *scrollBar)
既存の垂直スクロールバーをscrollBar に置き換え、元のスクロールバーのすべてのスライダープロパティを新しいスクロールバーに設定します。その後、元のスクロールバーは削除されます。
QAbstractScrollArea デフォルトでは、縦スクロールバーと横スクロールバーがすでに用意されています。この関数を呼び出すことで、デフォルトの縦スクロールバーを独自のカスタムスクロールバーに置き換えることができます。
verticalScrollBar() およびsetHorizontalScrollBar()も参照してください 。
void QAbstractScrollArea::setViewport(QWidget *widget)
ビューポートを指定されたwidget に設定します。QAbstractScrollArea は、指定されたwidget の所有権を取得します。
widget がnullptr の場合、QAbstractScrollArea はビューポート用に新しいQWidget インスタンスを割り当てます。
viewport()も参照してください 。
[protected] void QAbstractScrollArea::setViewportMargins(const QMargins &margins)
スクロール領域の周囲にmargins を設定します。これは、行や列が「固定」されているスプレッドシートなどのアプリケーションで役立ちます。余白部分は空白のままになります。未使用の領域にウィジェットを配置してください。
デフォルトでは、すべての余白はゼロです。
viewportMargins()も参照してください 。
[protected] void QAbstractScrollArea::setViewportMargins(int left, int top, int right, int bottom)
スクロール領域の周囲の余白を、left 、top 、right 、bottom に設定します。これは、行や列が「固定」されているスプレッドシートなどのアプリケーションで役立ちます。余白部分は空白のままになります。未使用の領域にウィジェットを配置してください。
この関数は、QTreeView およびQTableView によって頻繁に呼び出されるため、マージンはQAbstractScrollArea のサブクラスによって実装される必要があります。また、サブクラスをアイテムビューで使用する場合は、この関数を呼び出してはなりません。
デフォルトでは、すべてのマージンはゼロに設定されています。
viewportMargins()も参照してください 。
[virtual] void QAbstractScrollArea::setupViewport(QWidget *viewport)
このスロットは、setViewport (viewport )が呼び出された後、QAbstractScrollArea によって呼び出されます。QAbstractScrollArea のサブクラスでこの関数を再実装し、新しいviewport が使用される前に初期化を行ってください。
setViewport()も参照してください 。
[override virtual] QSize QAbstractScrollArea::sizeHint() const
QFrame::sizeHint() const を再実装します。
スクロール領域の `sizeHint` プロパティを返します。サイズは `viewportSizeHint()` を使用して決定され、必要に応じてスクロールバー用の余分なスペースが加算されます。
QScrollBar *QAbstractScrollArea::verticalScrollBar() const
垂直スクロールバーを返します。
setVerticalScrollBar()、verticalScrollBarPolicy 、およびhorizontalScrollBar()も参照してください 。
QWidget *QAbstractScrollArea::viewport() const
ビューポートウィジェットを返します。
ビューポートウィジェットの内容を取得するには、QScrollArea::widget() 関数を使用します。
setViewport() およびQScrollArea::widget()も参照してください 。
[virtual protected] bool QAbstractScrollArea::viewportEvent(QEvent *event)
スクロール領域(viewport() ウィジェット)のメインイベントハンドラです。指定されたevent を処理し、サブクラスから呼び出して適切なデフォルトの動作を実現することができます。
true を返して、イベントが処理済みであり、それ以上の処理を必要としないことをイベントシステムに通知します。それ以外の場合は、false を返して、イベントをさらに伝播させる必要があることを示します。
この関数はサブクラスで再実装することも可能ですが、代わりに専用のイベントハンドラのいずれかを使用することをお勧めします。
ビューポートイベント用の専用ハンドラは、paintEvent()、mousePressEvent()、mouseReleaseEvent()、mouseDoubleClickEvent()、mouseMoveEvent()、wheelEvent()、dragEnterEvent()、dragMoveEvent()、dragLeaveEvent()、dropEvent()、contextMenuEvent()、およびresizeEvent() です。
[protected] QMargins QAbstractScrollArea::viewportMargins() const
スクロール領域の周囲の余白を返します。デフォルトでは、すべての余白は 0 です。
setViewportMargins()も参照してください 。
[virtual protected] QSize QAbstractScrollArea::viewportSizeHint() const
ビューポートの推奨サイズを返します。デフォルトの実装では、viewport() ->sizeHint() を返します。なお、このサイズはビューポートのサイズそのものであり、スクロールバーは表示されていない状態のものに注意してください。
[override virtual protected] void QAbstractScrollArea::wheelEvent(QWheelEvent *e)
再実装対象:QWidget::wheelEvent(QWheelEvent *event)。
このイベントハンドラは、viewport() ウィジェットのホイールイベントを受け取るために、サブクラスで再実装することができます。イベントはe で渡されます。
QWidget::wheelEvent()も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.