QTableView Class

QTableView クラスは、テーブルビューのデフォルトのモデル/ビュー実装を提供します。詳細...

Header: #include <QTableView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QAbstractItemView
Inherited By:

QTableWidget

プロパティ

パブリック関数

QTableView(QWidget *parent = nullptr)
virtual ~QTableView()
void clearSpans()
int columnAt(int x) const
int columnSpan(int row, int column) const
int columnViewportPosition(int column) const
int columnWidth(int column) const
Qt::PenStyle gridStyle() const
QHeaderView *horizontalHeader() const
bool isColumnHidden(int column) const
bool isCornerButtonEnabled() const
bool isRowHidden(int row) const
bool isSortingEnabled() const
int rowAt(int y) const
int rowHeight(int row) const
int rowSpan(int row, int column) const
int rowViewportPosition(int row) const
void setColumnHidden(int column, bool hide)
void setColumnWidth(int column, int width)
void setCornerButtonEnabled(bool enable)
void setGridStyle(Qt::PenStyle style)
void setHorizontalHeader(QHeaderView *header)
void setRowHeight(int row, int height)
void setRowHidden(int row, bool hide)
void setSortingEnabled(bool enable)
void setSpan(int row, int column, int rowSpanCount, int columnSpanCount)
void setVerticalHeader(QHeaderView *header)
void setWordWrap(bool on)
bool showGrid() const
QHeaderView *verticalHeader() const
bool wordWrap() const

再実装パブリック関数

virtual QModelIndex indexAt(const QPoint &pos) const override
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override
virtual void setModel(QAbstractItemModel *model) override
virtual void setRootIndex(const QModelIndex &index) override
virtual void setSelectionModel(QItemSelectionModel *selectionModel) override
virtual QRect visualRect(const QModelIndex &index) const override

パブリックスロット

void hideColumn(int column)
void hideRow(int row)
void resizeColumnToContents(int column)
void resizeColumnsToContents()
void resizeRowToContents(int row)
void resizeRowsToContents()
void selectColumn(int column)
void selectRow(int row)
void setShowGrid(bool show)
void showColumn(int column)
void showRow(int row)
void sortByColumn(int column, Qt::SortOrder order)

再実装された保護された関数

virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous) override
virtual void dropEvent(QDropEvent *event) override
virtual int horizontalOffset() const override
virtual void initViewItemOption(QStyleOptionViewItem *option) const override
virtual bool isIndexHidden(const QModelIndex &index) const override
virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
virtual void paintEvent(QPaintEvent *event) override
virtual void scrollContentsBy(int dx, int dy) override
virtual QModelIndexList selectedIndexes() const override
virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) override
virtual int sizeHintForColumn(int column) const override
virtual int sizeHintForRow(int row) const override
virtual void timerEvent(QTimerEvent *event) override
virtual void updateGeometries() override
virtual int verticalOffset() const override
virtual QSize viewportSizeHint() const override
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const override

保護されたスロット

void columnCountChanged(int oldCount, int newCount)
void columnMoved(int column, int oldIndex, int newIndex)
void columnResized(int column, int oldWidth, int newWidth)
void rowCountChanged(int oldCount, int newCount)
void rowMoved(int row, int oldIndex, int newIndex)
void rowResized(int row, int oldHeight, int newHeight)

詳細説明

QTableViewは、モデルからの項目を表示するテーブルビューを実装します。このクラスは、以前は QTable クラスによって提供されていた標準的なテーブルを提供するために使用されますが、Qt のモデル/ビュー・アーキテクチャによって提供されるより柔軟なアプローチを使用します。

QTableView クラスは、モデル/ビュー・クラスの一つであり、Qt のモデル/ビュー・フレームワークの一部です。

QTableView は、QAbstractItemModel クラスから派生したモデルによって提供されたデータを表示できるように、QAbstractItemView クラスによって定義されたインターフェースを実装しています。

テーブルのセルは、マウスでセルをクリックするか、矢印キーを使って移動することができます。QTableView はデフォルトでtabKeyNavigation を有効にしているので、Tab や Backtab を押してセルからセルへ移動することもできます。

視覚的な外観

テーブルには、verticalHeader() 関数を使用して取得できる垂直方向のヘッダーと、horizontalHeader() 関数を使用して取得できる水平方向のヘッダーがあります。表の各行の高さは、rowHeight() で求めることができます。同様に、列の幅は、columnWidth() で求めることができます。どちらもプレーン・ウィジェットなので、hide() 関数を使用して非表示にすることができます。各ヘッダーは、highlightSectionssectionsClickable プロパティがtrue に設定されています。

行と列は、hideRow()、hideColumn()、showRow()、showColumn() で非表示にしたり表示したりできます。これらは、selectRow() およびselectColumn() で選択できます。テーブルは、showGrid プロパティに応じてグリッドを表示します。

テーブル・ビューに表示される項目は、他の項目ビューに表示される項目と同様に、標準のdelegates を使用して表示および編集されます。しかし、いくつかのタスクでは、代わりにテーブルにウィジェットを挿入できると便利な場合があります。ウィジェットはsetIndexWidget() 関数で特定のインデックスに設定され、後でindexWidget() で取得されます。

デフォルトでは、テーブルのセルは使用可能なスペースいっぱいに展開されません。

最後のヘッダー・セクションを伸ばすことで、セルを使用可能なスペースいっぱいにすることができます。horizontalHeader() またはverticalHeader() を使用して関連するヘッダにアクセスし、ヘッダのstretchLastSection プロパティを設定します。

各列または行の必要スペースに応じて利用可能なスペースを分配するには、ビューのresizeColumnsToContents() またはresizeRowsToContents() 関数を呼び出します。

座標系

いくつかの特殊な形式の表では、行や列のインデックスとウィジェットの座標を変換できると便利です。rowAt ()関数は、指定された行のビュー内のy座標を提供します。行インデックスを使用して、rowViewportPosition ()で対応するy座標を取得することができます。columnAt ()とcolumnViewportPosition ()関数は、x座標と列インデックスの間の同等の変換操作を提供します。

QTableWidgetビュー・クラスQAbstractItemModelQAbstractItemViewテーブル・モデルの例も参照してください

プロパティ文書

cornerButtonEnabled : bool

このプロパティは、左上隅のボタンが有効かどうかを保持します。

このプロパティがtrue である場合、テーブルビューの左上隅にあるボタンは有効である。このボタンをクリックすると、表ビューのすべてのセルが選択される。

このプロパティのデフォルトはtrue です。

アクセス関数:

bool isCornerButtonEnabled() const
void setCornerButtonEnabled(bool enable)

gridStyle : Qt::PenStyle

このプロパティは、グリッドの描画に使用されるペンのスタイルを保持します。

このプロパティは、グリッドを描画するときに使用されるスタイルを保持する(showGrid を参照)。

アクセス関数:

Qt::PenStyle gridStyle() const
void setGridStyle(Qt::PenStyle style)

showGrid : bool

このプロパティは、グリッドを表示するかどうかを保持します。

このプロパティがtrue の場合、テーブルにグリッドが描画されます。このプロパティがfalse の場合、グリッドは描画されません。デフォルト値はtrueです。

アクセス関数:

bool showGrid() const
void setShowGrid(bool show)

sortingEnabled : bool

このプロパティは、ソートが有効かどうかを保持します。

このプロパティがtrue の場合、テーブルのソートが有効になります。このプロパティがfalse の場合、並べ替えは有効にはならない。既定値は false です。

注釈 .setSortingEnabled() でこのプロパティを true に設定すると、直ちに、現在の並べ替えセクションと順序でsortByColumn() が呼び出されます。

アクセス関数:

bool isSortingEnabled() const
void setSortingEnabled(bool enable)

sortByColumn()も参照してください

wordWrap : bool

このプロパティは、項目テキストのワード・ラッピング・ポリシーを保持します。

このプロパティがtrue である場合、項目テキストは必要に応じて単語区切りで折り返される。このプロパティはデフォルトではtrue である。

折り返しが有効になっていても、すべてのテキストに合わせてセルが拡大されるわけではないことに注意してください。省略記号は現在のtextElideMode に従って挿入されます。

アクセス関数:

bool wordWrap() const
void setWordWrap(bool on)

メンバ関数ドキュメント

[explicit] QTableView::QTableView(QWidget *parent = nullptr)

parent 、データを表すテーブルビューを構築する。

QAbstractItemModelも参照

[virtual noexcept] QTableView::~QTableView()

テーブルビューを破棄します。

void QTableView::clearSpans()

テーブルビューのすべての行と列のスパンを削除します。

setSpan()も参照のこと

int QTableView::columnAt(int x) const

この関数は、与えられた x 座標x が内容座標にある列を返します。

注意: この関数は、指定された座標が有効でない(列がない)場合に -1 を返します。

rowAt()も参照

[protected slot] void QTableView::columnCountChanged(int oldCount, int newCount)

このスロットは、列が追加または削除されるたびに呼び出されます。以前の列数はoldCount で指定され、新しい列数はnewCount で指定される。

[protected slot] void QTableView::columnMoved(int column, int oldIndex, int newIndex)

このスロットは、テーブルビュー内の指定されたcolumn のインデックスを変更するために呼び出される。古いインデックスはoldIndex で指定され、新しいインデックスはnewIndex で指定されます。

rowMoved()も参照のこと

[protected slot] void QTableView::columnResized(int column, int oldWidth, int newWidth)

このスロットは、与えられたcolumn の幅を変更するために呼ばれる。古い幅はoldWidth で指定され、新しい幅はnewWidth で指定される。

rowResized()も参照

int QTableView::columnSpan(int row, int column) const

(row,column) にあるテーブル要素の列スパンを返します。デフォルトは 1 です。

setSpan() およびrowSpan() も参照

int QTableView::columnViewportPosition(int column) const

与えられたcolumn のコンテンツ座標における x 座標を返します。

int QTableView::columnWidth(int column) const

与えられたcolumn の幅を返す。

setColumnWidth()、resizeColumnToContents() およびrowHeight()も参照

[override virtual protected] void QTableView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

再実装:QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous)。

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

再リンプルメント:QAbstractItemView::dropEvent(QDropEvent *event)。

[slot] void QTableView::hideColumn(int column)

与えられたcolumn を非表示にします。

showColumn() およびhideRow()も参照してください

[slot] void QTableView::hideRow(int row)

与えられたrow を非表示にします。

showRow() およびhideColumn()も参照して ください。

QHeaderView *QTableView::horizontalHeader() const

テーブルビューの水平ヘッダを返します。

setHorizontalHeader()、verticalHeader() およびQAbstractItemModel::headerData()も参照 ください。

[override virtual protected] int QTableView::horizontalOffset() const

再定義します:QAbstractItemView::horizontalOffset() const.

テーブルビューの項目の水平オフセットを返します。

テーブルビューは、ビュー内の列の位置を決定するために水平ヘッダ部の位置を使用することに注意してください。

verticalOffset()も参照ください

[override virtual] QModelIndex QTableView::indexAt(const QPoint &pos) const

再インプリメント:QAbstractItemView::indexAt(const QPoint &point) const.

コンテンツ座標の位置pos にあるテーブルアイテムに対応するモデルアイテムのインデックス位置を返します。

[override virtual protected] void QTableView::initViewItemOption(QStyleOptionViewItem *option) const

再実装:QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const.

bool QTableView::isColumnHidden(int column) const

与えられたcolumn が非表示の場合はtrue を返し、そうでない場合はfalse を返します。

isRowHidden()も参照してください

[override virtual protected] bool QTableView::isIndexHidden(const QModelIndex &index) const

再実装:QAbstractItemView::isIndexHidden(const QModelIndex &index) const.

bool QTableView::isRowHidden(int row) const

与えられたrow が非表示であればtrue を返します; そうでなければfalse を返します。

isColumnHidden() も参照して ください。

[override virtual protected] QModelIndex QTableView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

再実装:QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)。

与えられたcursorAction に従って、modifiers によって提供された情報を使用してカーソルを移動します。

QAbstractItemView::CursorActionも参照してください

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

再実装:QAbstractScrollArea::paintEvent(QPaintEvent *event)。

与えられたペイントイベントevent の受信時にテーブルをペイントします。

[slot] void QTableView::resizeColumnToContents(int column)

列の各項目をレンダリングするために使用されるデリゲートのサイズヒントに基づき、与えられたcolumn のサイズを変更します。

注意: リサイズされるのは可視カラムのみです。非表示の列のサイズも変更するには、sizeHintForColumn() を再実装します。

resizeColumnsToContents(),sizeHintForColumn(),QHeaderView::resizeContentsPrecision()も参照

[slot] void QTableView::resizeColumnsToContents()

列の各項目をレンダリングするために使用されるデリゲートのサイズヒントに基づき、すべての列のサイズを変更します。

resizeColumnToContents()、sizeHintForColumn()、QHeaderView::resizeContentsPrecision()も参照

[slot] void QTableView::resizeRowToContents(int row)

行の各項目のレンダリングに使用されるデリゲートのサイズヒントに基づき、指定されたrow のサイズを変更します。

resizeRowsToContents()、sizeHintForRow() およびQHeaderView::resizeContentsPrecision()も参照

[slot] void QTableView::resizeRowsToContents()

行の各項目のレンダリングに使用されるデリゲートのサイズヒントに基づき、すべての行のサイズを変更します。

resizeRowToContents()、sizeHintForRow() およびQHeaderView::resizeContentsPrecision()も参照

int QTableView::rowAt(int y) const

コンテンツ座標で指定された y 座標y が位置する行を返します。

注意: 与えられた座標が有効でない(行がない)場合、この関数は -1 を返します。

columnAt()も参照

[protected slot] void QTableView::rowCountChanged(int oldCount, int newCount)

このスロットは、行が追加または削除されるたびに呼び出されます。前の行数はoldCount で指定され、新しい行数はnewCount で指定される。

int QTableView::rowHeight(int row) const

与えられたrow の高さを返す。

setRowHeight()、resizeRowToContents()、columnWidth()も参照のこと

[protected slot] void QTableView::rowMoved(int row, int oldIndex, int newIndex)

このスロットは、テーブルビュー内の指定されたrow のインデックスを変更するために呼び出されます。古いインデックスはoldIndex で指定され、新しいインデックスはnewIndex で指定される。

columnMoved()も参照のこと

[protected slot] void QTableView::rowResized(int row, int oldHeight, int newHeight)

このスロットは、与えられたrow の高さを変更するために呼び出されます。古い高さはoldHeight で指定され、新しい高さはnewHeight で指定されます。

columnResized()も参照

int QTableView::rowSpan(int row, int column) const

(row,column) にあるテーブル要素の行スパンを返します。デフォルトは 1 です。

setSpan() およびcolumnSpan() も参照

int QTableView::rowViewportPosition(int row) const

与えられたrow のコンテンツ座標における y 座標を返します。

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

再実装:QAbstractScrollArea::scrollContentsBy(int dx, int dy).

テーブルビューの内容を (dx,dy) だけスクロールする。

[override virtual] void QTableView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)

再実装:QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint)。

与えられたindex がテーブルビューに表示されていることを確認し、必要であればスクロールします。

[slot] void QTableView::selectColumn(int column)

現在の SelectionMode と SelectionBehavior が列を選択できる場合、テーブルビューで与えられたcolumn を選択します。

selectRow()も参照

[slot] void QTableView::selectRow(int row)

現在の SelectionMode および SelectionBehavior で行を選択できる場合、テーブルビューで指定されたrow を選択します。

selectColumn()も参照

[override virtual protected] QModelIndexList QTableView::selectedIndexes() const

再インプリメント:QAbstractItemView::selectedIndexes() const.

[override virtual protected] void QTableView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

再実装:QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)。

void QTableView::setColumnHidden(int column, bool hide)

hide が真の場合、与えられたcolumn は非表示になります。

isColumnHidden() およびsetRowHidden()も参照してください

void QTableView::setColumnWidth(int column, int width)

与えられたcolumn の幅をwidth に設定する。

columnWidth() も参照

void QTableView::setHorizontalHeader(QHeaderView *header)

水平ヘッダに使用するウィジェットをheader に設定します。

horizontalHeader() およびsetVerticalHeader()も参照 ください。

[override virtual] void QTableView::setModel(QAbstractItemModel *model)

再インプリメント:QAbstractItemView::setModel(QAbstractItemModel *model).

[override virtual] void QTableView::setRootIndex(const QModelIndex &index)

再実装:QAbstractItemView::setRootIndex(const QModelIndex &index)。

void QTableView::setRowHeight(int row, int height)

与えられたrow の高さをheight に設定します。

rowHeight()も参照してください

void QTableView::setRowHidden(int row, bool hide)

hide が true の場合はrow が非表示になり、そうでない場合は表示されます。

isRowHidden() およびsetColumnHidden()も参照

[override virtual protected] void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)

再実装:QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)。

与えられたrect 内で、指定された選択flags に従ってアイテムを選択します。

[override virtual] void QTableView::setSelectionModel(QItemSelectionModel *selectionModel)

再インプリメント:QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)。

void QTableView::setSortingEnabled(bool enable)

enable が真の場合、テーブルのソートを有効にし、現在のソートセクションと順序でsortByColumn() を直ちに呼び出します。

注: プロパティsortingEnabled に対するセッター関数。

isSortingEnabled()も参照

void QTableView::setSpan(int row, int column, int rowSpanCount, int columnSpanCount)

(row,column) の表要素のスパンを、(rowSpanCount,columnSpanCount) で指定された行数および列数に設定します。

rowSpan() およびcolumnSpan() も参照

void QTableView::setVerticalHeader(QHeaderView *header)

垂直ヘッダに使用するウィジェットをheader に設定します。

verticalHeader() およびsetHorizontalHeader() も参照

[slot] void QTableView::showColumn(int column)

指定されたcolumn を表示します。

hideColumn() およびshowRow() も参照

[slot] void QTableView::showRow(int row)

指定されたrow を表示します。

hideRow() およびshowColumn()も参照

[override virtual protected] int QTableView::sizeHintForColumn(int column) const

再インプリメント:QAbstractItemView::sizeHintForColumn(int column) const.

与えられたcolumn の幅のサイズヒントを返すか、モデルがない場合は -1 を返します。

指定した列の幅を固定値に設定する必要がある場合は、テーブルの水平ヘッダでQHeaderView::resizeSection() をコールします。

この関数をサブクラスで再実装する場合は、resizeColumnToContents() またはQHeaderView::resizeSections() が呼び出されたときに返される値が使用されることに注意してください。水平ヘッダまたは項目デリゲートのいずれかがより大きな列幅を要求している場合は、代わりに大きな幅が使用されます。

QWidget::sizeHinthorizontalHeader()、QHeaderView::resizeContentsPrecision()も参照

[override virtual protected] int QTableView::sizeHintForRow(int row) const

再インプリメント:QAbstractItemView::sizeHintForRow(int row) const.

与えられたrow の高さのサイズヒントを返すか、モデルがない場合は -1 を返します。

指定した行の高さを固定値に設定する必要がある場合は、テーブルの垂直ヘッダでQHeaderView::resizeSection() を呼び出します。

この関数をサブクラスで再実装する場合、返す値はresizeRowToContents() が呼び出されたときにのみ使用されることに注意してください。その場合、垂直ヘッダまたは項目デリゲートのいずれかがより大きな行の高さを必要とする場合は、その幅が代わりに使用されます。

QWidget::sizeHintverticalHeader()、QHeaderView::resizeContentsPrecision()も参照して ください。

[slot] void QTableView::sortByColumn(int column, Qt::SortOrder order)

与えられたcolumnorder の値でモデルをソートします。

column この場合、ソートインジケータは表示されず、モデルはソートされていない自然な順序に戻ります。すべてのモデルがこれをサポートしているわけではなく、この場合クラッシュする可能性があることに注意してください。

sortingEnabledも参照して ください。

[override virtual protected] void QTableView::timerEvent(QTimerEvent *event)

再実装:QAbstractItemView::timerEvent(QTimerEvent *event)。

[override virtual protected] void QTableView::updateGeometries()

再リンプルメント: (QTimerEvent *event):QAbstractItemView::updateGeometries().

QHeaderView *QTableView::verticalHeader() const

テーブルビューの垂直ヘッダーを返します。

setVerticalHeader(),horizontalHeader(),QAbstractItemModel::headerData()も参照して ください。

[override virtual protected] int QTableView::verticalOffset() const

再リプルメント:QAbstractItemView::verticalOffset() const.

テーブルビューの項目の垂直オフセットを返します。

テーブルビューは、ビュー内の行の位置を決定するために垂直ヘッダ部の位置を使用することに注意してください。

horizontalOffset()も参照ください

[override virtual protected] QSize QTableView::viewportSizeHint() const

再インプリメント:QAbstractItemView::viewportSizeHint() const.

[override virtual] QRect QTableView::visualRect(const QModelIndex &index) const

再実装:QAbstractItemView::visualRect(const QModelIndex &index) const.

与えられたindex が占めるビューポート上の矩形を返します。インデックスがビューに隠れている場合、NULLQRect を返します。

[override virtual protected] QRegion QTableView::visualRegionForSelection(const QItemSelection &selection) const

再インプリメント:QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const.

与えられたselection のアイテムのビューポートからの矩形を返します。

4.7 以降、返される領域は、ビューポートと交差する(またはビューポートに含まれる)矩形のみを含みます。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。