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: |
プロパティ
|
|
パブリック関数
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 ¤t, 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() 関数を使用して非表示にすることができます。各ヘッダーは、highlightSections とsectionsClickable プロパティがtrue
に設定されています。
行と列は、hideRow()、hideColumn()、showRow()、showColumn() で非表示にしたり表示したりできます。これらは、selectRow() およびselectColumn() で選択できます。テーブルは、showGrid プロパティに応じてグリッドを表示します。
テーブル・ビューに表示される項目は、他の項目ビューに表示される項目と同様に、標準のdelegates を使用して表示および編集されます。しかし、いくつかのタスクでは、代わりにテーブルにウィジェットを挿入できると便利な場合があります。ウィジェットはsetIndexWidget() 関数で特定のインデックスに設定され、後でindexWidget() で取得されます。
デフォルトでは、テーブルのセルは使用可能なスペースいっぱいに展開されません。 最後のヘッダー・セクションを伸ばすことで、セルを使用可能なスペースいっぱいにすることができます。horizontalHeader() またはverticalHeader() を使用して関連するヘッダにアクセスし、ヘッダのstretchLastSection プロパティを設定します。 各列または行の必要スペースに応じて利用可能なスペースを分配するには、ビューのresizeColumnsToContents() またはresizeRowsToContents() 関数を呼び出します。 |
座標系
いくつかの特殊な形式の表では、行や列のインデックスとウィジェットの座標を変換できると便利です。rowAt ()関数は、指定された行のビュー内のy座標を提供します。行インデックスを使用して、rowViewportPosition ()で対応するy座標を取得することができます。columnAt ()とcolumnViewportPosition ()関数は、x座標と列インデックスの間の同等の変換操作を提供します。
QTableWidget 、ビュー・クラス、QAbstractItemModel 、QAbstractItemView 、テーブル・モデルの例も参照してください 。
プロパティ文書
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 です。
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 ¤t, const QModelIndex &previous)
再実装:QAbstractItemView::currentChanged(const QModelIndex ¤t, 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::sizeHint 、horizontalHeader()、QHeaderView::resizeContentsPrecision()も参照 。
[override virtual protected]
int QTableView::sizeHintForRow(int row) const
再インプリメント:QAbstractItemView::sizeHintForRow(int row) const.
与えられたrow の高さのサイズヒントを返すか、モデルがない場合は -1 を返します。
指定した行の高さを固定値に設定する必要がある場合は、テーブルの垂直ヘッダでQHeaderView::resizeSection() を呼び出します。
この関数をサブクラスで再実装する場合、返す値はresizeRowToContents() が呼び出されたときにのみ使用されることに注意してください。その場合、垂直ヘッダまたは項目デリゲートのいずれかがより大きな行の高さを必要とする場合は、その幅が代わりに使用されます。
QWidget::sizeHint 、verticalHeader()、QHeaderView::resizeContentsPrecision()も参照して ください。
[slot]
void QTableView::sortByColumn(int column, Qt::SortOrder order)
与えられたcolumn とorder の値でモデルをソートします。
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。