QTableWidget Class
QTableWidgetクラスは、デフォルトモデルを持つアイテムベースのテーブルビューを提供します。詳細...
ヘッダ | #include <QTableWidget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | QTableView |
プロパティ
- columnCount : int
- rowCount : int
パブリック機能
QTableWidget(QWidget *parent = nullptr) | |
QTableWidget(int rows, int columns, QWidget *parent = nullptr) | |
virtual | ~QTableWidget() |
QWidget * | cellWidget(int row, int column) const |
void | closePersistentEditor(QTableWidgetItem *item) |
int | column(const QTableWidgetItem *item) const |
int | columnCount() const |
int | currentColumn() const |
QTableWidgetItem * | currentItem() const |
int | currentRow() const |
void | editItem(QTableWidgetItem *item) |
QList<QTableWidgetItem *> | findItems(const QString &text, Qt::MatchFlags flags) const |
QTableWidgetItem * | horizontalHeaderItem(int column) const |
QModelIndex | indexFromItem(const QTableWidgetItem *item) const |
bool | isPersistentEditorOpen(QTableWidgetItem *item) const |
QTableWidgetItem * | item(int row, int column) const |
QTableWidgetItem * | itemAt(const QPoint &point) const |
QTableWidgetItem * | itemAt(int ax, int ay) const |
QTableWidgetItem * | itemFromIndex(const QModelIndex &index) const |
const QTableWidgetItem * | itemPrototype() const |
QList<QTableWidgetItem *> | items(const QMimeData *data) const |
void | openPersistentEditor(QTableWidgetItem *item) |
void | removeCellWidget(int row, int column) |
int | row(const QTableWidgetItem *item) const |
int | rowCount() const |
QList<QTableWidgetItem *> | selectedItems() const |
QList<QTableWidgetSelectionRange> | selectedRanges() const |
void | setCellWidget(int row, int column, QWidget *widget) |
void | setColumnCount(int columns) |
void | setCurrentCell(int row, int column) |
void | setCurrentCell(int row, int column, QItemSelectionModel::SelectionFlags command) |
void | setCurrentItem(QTableWidgetItem *item) |
void | setCurrentItem(QTableWidgetItem *item, QItemSelectionModel::SelectionFlags command) |
void | setHorizontalHeaderItem(int column, QTableWidgetItem *item) |
void | setHorizontalHeaderLabels(const QStringList &labels) |
void | setItem(int row, int column, QTableWidgetItem *item) |
void | setItemPrototype(const QTableWidgetItem *item) |
void | setRangeSelected(const QTableWidgetSelectionRange &range, bool select) |
void | setRowCount(int rows) |
void | setVerticalHeaderItem(int row, QTableWidgetItem *item) |
void | setVerticalHeaderLabels(const QStringList &labels) |
void | sortItems(int column, Qt::SortOrder order = Qt::AscendingOrder) |
QTableWidgetItem * | takeHorizontalHeaderItem(int column) |
QTableWidgetItem * | takeItem(int row, int column) |
QTableWidgetItem * | takeVerticalHeaderItem(int row) |
QTableWidgetItem * | verticalHeaderItem(int row) const |
int | visualColumn(int logicalColumn) const |
QRect | visualItemRect(const QTableWidgetItem *item) const |
int | visualRow(int logicalRow) const |
パブリックスロット
void | clear() |
void | clearContents() |
void | insertColumn(int column) |
void | insertRow(int row) |
void | removeColumn(int column) |
void | removeRow(int row) |
void | scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible) |
シグナル
void | cellActivated(int row, int column) |
void | cellChanged(int row, int column) |
void | cellClicked(int row, int column) |
void | cellDoubleClicked(int row, int column) |
void | cellEntered(int row, int column) |
void | cellPressed(int row, int column) |
void | currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn) |
void | currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous) |
void | itemActivated(QTableWidgetItem *item) |
void | itemChanged(QTableWidgetItem *item) |
void | itemClicked(QTableWidgetItem *item) |
void | itemDoubleClicked(QTableWidgetItem *item) |
void | itemEntered(QTableWidgetItem *item) |
void | itemPressed(QTableWidgetItem *item) |
void | itemSelectionChanged() |
保護された関数
virtual bool | dropMimeData(int row, int column, const QMimeData *data, Qt::DropAction action) |
virtual QMimeData * | mimeData(const QList<QTableWidgetItem *> &items) const |
virtual QStringList | mimeTypes() const |
virtual Qt::DropActions | supportedDropActions() const |
再実装されたプロテクト関数
詳細説明
テーブルウィジェットは、アプリケーションに標準的なテーブル表示機能を提供します。QTableWidget の項目はQTableWidgetItem によって提供されます。
独自のデータモデルを使用するテーブルが必要な場合は、このクラスではなく、QTableView 。
テーブルウィジェットは、必要な行数と列数で構築できます:
tableWidget = new QTableWidget(12, 3, this);
あるいは、テーブルのサイズを指定せずに作成し、後でサイズを変更することもできます:
tableWidget = new QTableWidget(this); tableWidget->setRowCount(10); tableWidget->setColumnCount(5);
アイテムはテーブルの外側で作成され(親ウィジェットがない)、setItem() でテーブルに挿入されます:
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg( (row+1)*(column+1))); tableWidget->setItem(row, column, newItem);
テーブル・ウィジェットでソートを有効にしたい場合は、アイテムが入力された後に行ってください。そうしないと、ソートが挿入順序に干渉する可能性があります(詳細はsetItem() を参照してください)。
テーブルには、水平ヘッダーと垂直ヘッダーの両方を付けることができます。ヘッダーを作成する最も簡単な方法は、setHorizontalHeaderLabels() およびsetVerticalHeaderLabels() 関数に文字列のリストを渡すことです。これらは、テーブルの列と行に単純なテキスト・ヘッダを提供します。より洗練されたヘッダは、既存のテーブル項目から作成することができます。例えば、アイコンと整列されたテキストでテーブル項目を作成し、それを特定の列のヘッダーとして使用することができます:
QTableWidgetItem *cubesHeaderItem = new QTableWidgetItem(tr("Cubes")); cubesHeaderItem->setIcon(QIcon(QPixmap(":/Images/cubed.png"))); cubesHeaderItem->setTextAlignment(Qt::AlignVCenter);
表の行数はrowCount ()、列数はcolumnCount ()で求められる。テーブルの行数はclear() で、列数は () で確認できる。
QTableWidgetItem 、QTableView 、およびモデル/ビュー・プログラミング も参照してください 。
プロパティのドキュメント
columnCount : int
このプロパティは、テーブルの列数を保持する。
デフォルトでは、行と列のカウントなしで構築されたテーブルの場合、このプロパティには値 0 が含まれます。
アクセス関数:
int | columnCount() const |
void | setColumnCount(int columns) |
rowCount : int
このプロパティは、テーブルの行数を保持する。
デフォルトでは、行と列のカウントなしで構築されたテーブルの場合、このプロパティには値 0 が含まれます。
アクセス関数:
int | rowCount() const |
void | setRowCount(int rows) |
メンバ関数ドキュメント
[explicit]
QTableWidget::QTableWidget(QWidget *parent = nullptr)
与えられたparent で新しいテーブルビューを作成します。
QTableWidget::QTableWidget(int rows, int columns, QWidget *parent = nullptr)
指定されたrows とcolumns 、および指定されたparent を持つ新しいテーブルビューを作成します。
[virtual noexcept]
QTableWidget::~QTableWidget()
このQTableWidget を破壊する。
[signal]
void QTableWidget::cellActivated(int row, int column)
このシグナルは、row とcolumn で指定されたセルがアクティブになったときに発せられる。
[signal]
void QTableWidget::cellChanged(int row, int column)
このシグナルは、row とcolumn で指定されたセル内の項目のデータが変更されるたびに発せられる。
[signal]
void QTableWidget::cellClicked(int row, int column)
このシグナルは、表のセルがクリックされるたびに発せられる。指定されたrow とcolumn はクリックされたセルです。
[signal]
void QTableWidget::cellDoubleClicked(int row, int column)
このシグナルは、表のセルがダブルクリックされるたびに発せられる。指定されたrow とcolumn はダブルクリックされたセルです。
[signal]
void QTableWidget::cellEntered(int row, int column)
このシグナルは、マウスカーソルがセルに入ったときに発せられる。セルはrow とcolumn で指定される。
このシグナルはmouseTrackingがオンになっているとき、またはアイテムに移動中にマウスボタンが押されたときにのみ発せられる。
[signal]
void QTableWidget::cellPressed(int row, int column)
このシグナルは、表のセルが押されるたびに発せられる。指定されたrow とcolumn は押されたセルである。
QWidget *QTableWidget::cellWidget(int row, int column) const
与えられたrow とcolumn のセルに表示されたウィジェットを返す。
注意: テーブルがウィジェットの所有権を持つ。
setCellWidget()も参照してください 。
[slot]
void QTableWidget::clear()
ビュー内のすべての項目を削除します。これにより、すべての選択項目とヘッダーも削除されます。ヘッダを削除したくない場合は、QTableWidget::clearContents() を使用してください。テーブルの寸法は変わりません。
[slot]
void QTableWidget::clearContents()
ヘッダーにないすべての項目をビューから削除します。これはすべての選択項目も削除します。テーブルの寸法は変わりません。
void QTableWidget::closePersistentEditor(QTableWidgetItem *item)
item の永続エディタを閉じる。
openPersistentEditor() およびisPersistentEditorOpen()も参照してください 。
int QTableWidget::column(const QTableWidgetItem *item) const
item のカラムを返します。
int QTableWidget::columnCount() const
列の数を返す。
注意: columnCount プロパティのゲッター関数です。
setColumnCount()も参照してください 。
[signal]
void QTableWidget::currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
このシグナルは、カレント・セルが変わるたびに発せられる。previousRow とpreviousColumn で指定されるセルは、以前フォーカスがあったセルであり、currentRow とcurrentColumn で指定されるセルは、新しいカレントセルである。
int QTableWidget::currentColumn() const
現在の項目の列を返します。
currentRow() およびsetCurrentCell()も参照 。
QTableWidgetItem *QTableWidget::currentItem() const
現在の項目を返します。
setCurrentItem()も参照 。
[signal]
void QTableWidget::currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
このシグナルは、カレント・アイテムが変わるたびに発せられる。previous の項目は以前フォーカスがあった項目で、current は新しい現在の項目です。
int QTableWidget::currentRow() const
現在の項目の行を返します。
currentColumn() およびsetCurrentCell()も参照 。
[override virtual protected]
void QTableWidget::dropEvent(QDropEvent *event)
再実装:QTableView::dropEvent(QDropEvent *event)。
[virtual protected]
bool QTableWidget::dropMimeData(int row, int column, const QMimeData *data, Qt::DropAction action)
与えられたaction で終了したドラッグ&ドロップ操作によって与えられたdata を、与えられたrow とcolumn で処理します。データとアクションがモデルで処理できる場合はtrue
を返し、そうでない場合はfalse
を返します。
supportedDropActions()も参照してください 。
void QTableWidget::editItem(QTableWidgetItem *item)
編集可能であれば、item の編集を開始する。
[override virtual protected]
bool QTableWidget::event(QEvent *e)
再実装:QAbstractItemView::event(QEvent *event)。
QList<QTableWidgetItem *> QTableWidget::findItems(const QString &text, Qt::MatchFlags flags) const
与えられたflags を使ってtext にマッチするアイテムを検索します。
QTableWidgetItem *QTableWidget::horizontalHeaderItem(int column) const
カラムの水平ヘッダ項目column が設定されている場合はそれを返し、設定されていない場合はnullptr
を返す。
setHorizontalHeaderItem()も参照のこと 。
QModelIndex QTableWidget::indexFromItem(const QTableWidgetItem *item) const
与えられたitem に関連付けられたQModelIndex を返します。
注意: Qt 5.10より前のバージョンでは、この関数はconst
item 以外の値を取っていました。
[slot]
void QTableWidget::insertColumn(int column)
column のテーブルに空の列を挿入する。
[slot]
void QTableWidget::insertRow(int row)
row のテーブルに空の行を挿入する。
bool QTableWidget::isPersistentEditorOpen(QTableWidgetItem *item) const
項目item に対して永続エディタが開いているかどうかを返します。
openPersistentEditor() およびclosePersistentEditor()も参照してください 。
QTableWidgetItem *QTableWidget::item(int row, int column) const
指定されたrow とcolumn の項目が設定されていればそれを返し、そうでなければnullptr
を返す。
setItem()も参照のこと 。
[signal]
void QTableWidget::itemActivated(QTableWidgetItem *item)
このシグナルは、指定されたitem がアクティブになったときに発せられる。
QTableWidgetItem *QTableWidget::itemAt(const QPoint &point) const
指定されたpoint の項目へのポインタを返すか、point がテーブル・ウィジェットの項目でカバーされていない場合はnullptr
を返す。
item()も参照してください 。
QTableWidgetItem *QTableWidget::itemAt(int ax, int ay) const
表ウィジェットの座標系でQPoint(ax,ay) に相当する位置にある項目を返すか、指定された点が表ウィジェットの項目でカバーされていない場合はnullptr
を返す。
item()も参照してください 。
[signal]
void QTableWidget::itemChanged(QTableWidgetItem *item)
このシグナルは、item のデータが変更されるたびに発せられる。
[signal]
void QTableWidget::itemClicked(QTableWidgetItem *item)
このシグナルは、テーブルの項目がクリックされるたびに発せられる。指定されたitem はクリックされた項目である。
[signal]
void QTableWidget::itemDoubleClicked(QTableWidgetItem *item)
このシグナルは、テーブルの項目がダブルクリックされるたびに発せられる。指定されたitem はダブルクリックされた項目です。
[signal]
void QTableWidget::itemEntered(QTableWidgetItem *item)
このシグナルはマウスカーソルがアイテムに入ったときに発せられる。item が入力された項目である。
このシグナルはmouseTrackingがオンになっているか、アイテムに移動中にマウスボタンが押された時のみ発せられる。
QTableWidgetItem *QTableWidget::itemFromIndex(const QModelIndex &index) const
与えられたindex に関連付けられたQTableWidgetItem へのポインタを返す。
[signal]
void QTableWidget::itemPressed(QTableWidgetItem *item)
このシグナルは、テーブルの項目が押されるたびに発せられる。指定されたitem は押された項目である。
const QTableWidgetItem *QTableWidget::itemPrototype() const
テーブルが使用しているアイテムのプロトタイプを返します。
setItemPrototype()も参照ください 。
[signal]
void QTableWidget::itemSelectionChanged()
このシグナルは、選択範囲が変わるたびに発せられる。
selectedItems() およびQTableWidgetItem::isSelected()も参照 。
QList<QTableWidgetItem *> QTableWidget::items(const QMimeData *data) const
data オブジェクトに含まれる項目へのポインタのリストを返す。オブジェクトが同じプロセスのQTreeWidget によって作成されていない場合、リストは空です。
[virtual protected]
QMimeData *QTableWidget::mimeData(const QList<QTableWidgetItem *> &items) const
指定されたitems の直列化された説明を含むオブジェクトを返す。項目の説明に使用されるフォーマットは、mimeTypes() 関数から取得されます。
項目のリストが空の場合は、シリアライズされた空リストではなくnullptr
が返されます。
[virtual protected]
QStringList QTableWidget::mimeTypes() const
tablewidgetアイテムのリストを記述するために使用できるMIMEタイプのリストを返します。
mimeData()も参照してください 。
void QTableWidget::openPersistentEditor(QTableWidgetItem *item)
item のエディタを開きます。編集後もエディタは開いたままです。
closePersistentEditor() およびisPersistentEditorOpen()も参照してください 。
void QTableWidget::removeCellWidget(int row, int column)
row とcolumn で示されるセルに設定されたウィジェットを削除する。
[slot]
void QTableWidget::removeColumn(int column)
テーブルからカラムcolumn とそのすべての項目を削除します。
[slot]
void QTableWidget::removeRow(int row)
テーブルから行row とそのすべての項目を削除する。
int QTableWidget::row(const QTableWidgetItem *item) const
item の行を返す。
int QTableWidget::rowCount() const
行数を返す。
注: プロパティ rowCount のゲッター関数。
setRowCount()も参照 。
[slot]
void QTableWidget::scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
item が確実に見えるように、必要に応じてビューをスクロールする。hint パラメーターは、操作後のitem の位置をより正確に指定する。
QList<QTableWidgetItem *> QTableWidget::selectedItems() const
選択されたすべての項目のリストを返す。
この関数は、選択されたセルの内容へのポインタのリストを返す。空のセルを含む完全な選択項目を取得するには、selectedIndexes() 関数を使用します。
selectedIndexes()も参照 。
QList<QTableWidgetSelectionRange> QTableWidget::selectedRanges() const
選択されたすべての範囲のリストを返す。
QTableWidgetSelectionRangeも参照してください 。
void QTableWidget::setCellWidget(int row, int column, QWidget *widget)
与えられたrow とcolumn のセルに表示するwidget を設定し、ウィジェットの所有権をテーブルに渡す。
セル・ウィジェット A がセル・ウィジェット B に置き換えられると、セル・ウィジェット A は削除される。例えば、以下のコード・スニペットでは、QLineEdit オブジェクトが削除される。
cellWidget()も参照 。
void QTableWidget::setColumnCount(int columns)
このテーブルのモデルのカラム数をcolumns に設定します。これがcolumnCount() より小さい場合、不要なカラムのデータは破棄されます。
注釈: プロパティcolumnCount に対するセッター関数。
columnCount() およびsetRowCount()も参照してください 。
void QTableWidget::setCurrentCell(int row, int column)
現在のセルを位置(row,column)のセルに設定する。
現在のselection mode に応じて、セルが選択されることもある。
setCurrentItem()、currentRow()、およびcurrentColumn()も参照してください 。
void QTableWidget::setCurrentCell(int row, int column, QItemSelectionModel::SelectionFlags command)
与えられたcommand を使用して、現在のセルを位置 (row,column) のセルに設定します。
setCurrentItem(),currentRow(),currentColumn()も参照 。
void QTableWidget::setCurrentItem(QTableWidgetItem *item)
現在の項目をitem に設定する。
選択モードがNoSelection でない限り、その項目も選択される。
currentItem() およびsetCurrentCell()も参照してください 。
void QTableWidget::setCurrentItem(QTableWidgetItem *item, QItemSelectionModel::SelectionFlags command)
与えられたcommand を使用して、現在の項目をitem に設定します。
currentItem() およびsetCurrentCell()も参照 。
void QTableWidget::setHorizontalHeaderItem(int column, QTableWidgetItem *item)
列column の水平ヘッダー項目をitem に設定する。 必要であれば、項目に合わせて列数を増やす。前のヘッダ項目は (もしあれば) 削除される。
horizontalHeaderItem()も参照のこと 。
void QTableWidget::setHorizontalHeaderLabels(const QStringList &labels)
labels を使って水平ヘッダーラベルを設定する。
void QTableWidget::setItem(int row, int column, QTableWidgetItem *item)
与えられたrow とcolumn の項目をitem に設定する。
テーブルがアイテムの所有権を持つ。
ソートが有効で (sortingEnabled を参照)、かつcolumn が現在のソート列である場合、row はitem で決定されるソート位置に移動することに注意。
特定の行の複数の項目を設定したい場合(例えば、setItem()をループで呼び出すなど)、ソートをオフにしてから設定し、その後にオンに戻すとよい。こうすることで、同じ行のすべての項目に同じrow 引数を使用できるようになる(つまり、setItem()は行を移動しない)。
void QTableWidget::setItemPrototype(const QTableWidgetItem *item)
テーブルのアイテムプロトタイプを、指定されたitem に設定します。
テーブルウィジェットは、新しいテーブルアイテムを作成する必要がある場合、アイテムプロトタイプクローン関数を使用します。例えば、ユーザが空のセルで編集している場合などです。これは、QTableWidgetItem サブクラスを持っていて、QTableWidget がそのサブクラスのインスタンスを作成することを確認したい場合に便利です。
テーブルはプロトタイプの所有権を持つ。
itemPrototype()も参照してください 。
void QTableWidget::setRangeSelected(const QTableWidgetSelectionRange &range, bool select)
select に応じてrange を選択または選択解除する。
void QTableWidget::setRowCount(int rows)
このテーブルのモデルの行数をrows に設定します。これがrowCount() より小さい場合、不要な行のデータは破棄されます。
注釈: プロパティrowCount に対するセッター関数。
rowCount() およびsetColumnCount()も参照して ください。
void QTableWidget::setVerticalHeaderItem(int row, QTableWidgetItem *item)
row 行の垂直ヘッダー項目をitem に設定する。
verticalHeaderItem()も参照のこと 。
void QTableWidget::setVerticalHeaderLabels(const QStringList &labels)
labels を使って垂直方向のヘッダーラベルを設定する。
void QTableWidget::sortItems(int column, Qt::SortOrder order = Qt::AscendingOrder)
テーブルウィジェットのすべての行をcolumn とorder に基づいてソートする。
[virtual protected]
Qt::DropActions QTableWidget::supportedDropActions() const
このビューでサポートされているドロップアクションを返します。
Qt::DropActionsも参照ください 。
QTableWidgetItem *QTableWidget::takeHorizontalHeaderItem(int column)
column の水平ヘッダー項目を削除せずにヘッダーから取り除く。
QTableWidgetItem *QTableWidget::takeItem(int row, int column)
row とcolumn の項目を削除せずにテーブルから削除する。
QTableWidgetItem *QTableWidget::takeVerticalHeaderItem(int row)
row にある垂直ヘッダー項目を削除せずにヘッダーから取り除く。
QTableWidgetItem *QTableWidget::verticalHeaderItem(int row) const
row 行の垂直ヘッダー項目を返す。
setVerticalHeaderItem()も参照 。
int QTableWidget::visualColumn(int logicalColumn) const
与えられたlogicalColumn のビジュアルカラムを返します。
QRect QTableWidget::visualItemRect(const QTableWidgetItem *item) const
item のアイテムが占めるビューポート上の矩形を返します。
int QTableWidget::visualRow(int logicalRow) const
与えられたlogicalRow のビジュアル行を返します。
© 2025 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.