QTableWidget Class
QTableWidgetクラスは、デフォルトモデルを持つアイテムベースのテーブルビューを提供します。詳細...
Header: | #include <QTableWidget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | 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 、およびモデル/ビュー・プログラミング も参照してください 。
プロパティ Documentation
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
Range関数は、選択されたすべての範囲のリストを返します。
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 の視覚的な行を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。