QListWidget Class
QListWidgetクラスは、アイテムベースのリストウィジェットを提供します。詳細...
Header: | #include <QListWidget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | QListView |
プロパティ
- count : const int
- currentRow : int
- sortingEnabled : bool
パブリック関数
QListWidget(QWidget *parent = nullptr) | |
virtual | ~QListWidget() |
void | addItem(QListWidgetItem *item) |
void | addItem(const QString &label) |
void | addItems(const QStringList &labels) |
void | closePersistentEditor(QListWidgetItem *item) |
int | count() const |
QListWidgetItem * | currentItem() const |
int | currentRow() const |
void | editItem(QListWidgetItem *item) |
QList<QListWidgetItem *> | findItems(const QString &text, Qt::MatchFlags flags) const |
QModelIndex | indexFromItem(const QListWidgetItem *item) const |
void | insertItem(int row, QListWidgetItem *item) |
void | insertItem(int row, const QString &label) |
void | insertItems(int row, const QStringList &labels) |
bool | isPersistentEditorOpen(QListWidgetItem *item) const |
bool | isSortingEnabled() const |
QListWidgetItem * | item(int row) const |
QListWidgetItem * | itemAt(const QPoint &p) const |
QListWidgetItem * | itemAt(int x, int y) const |
QListWidgetItem * | itemFromIndex(const QModelIndex &index) const |
QWidget * | itemWidget(QListWidgetItem *item) const |
QList<QListWidgetItem *> | items(const QMimeData *data) const |
void | openPersistentEditor(QListWidgetItem *item) |
void | removeItemWidget(QListWidgetItem *item) |
int | row(const QListWidgetItem *item) const |
QList<QListWidgetItem *> | selectedItems() const |
void | setCurrentItem(QListWidgetItem *item) |
void | setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command) |
void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
void | setCurrentRow(int row) |
void | setItemWidget(QListWidgetItem *item, QWidget *widget) |
void | setSortingEnabled(bool enable) |
void | sortItems(Qt::SortOrder order = Qt::AscendingOrder) |
QListWidgetItem * | takeItem(int row) |
QRect | visualItemRect(const QListWidgetItem *item) const |
再実装パブリック関数
virtual void | setSelectionModel(QItemSelectionModel *selectionModel) override |
パブリックスロット
void | clear() |
void | scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible) |
シグナル
void | currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) |
void | currentRowChanged(int currentRow) |
void | currentTextChanged(const QString ¤tText) |
void | itemActivated(QListWidgetItem *item) |
void | itemChanged(QListWidgetItem *item) |
void | itemClicked(QListWidgetItem *item) |
void | itemDoubleClicked(QListWidgetItem *item) |
void | itemEntered(QListWidgetItem *item) |
void | itemPressed(QListWidgetItem *item) |
void | itemSelectionChanged() |
保護された関数
virtual bool | dropMimeData(int index, const QMimeData *data, Qt::DropAction action) |
virtual QMimeData * | mimeData(const QList<QListWidgetItem *> &items) const |
virtual QStringList | mimeTypes() const |
virtual Qt::DropActions | supportedDropActions() const |
再実装された保護された関数
詳細説明
QListWidgetは、QListView によって提供されるものに似たリストビューを提供する便利なクラスですが、項目の追加と削除のための古典的な項目ベースのインタフェースを備えています。QListWidgetは、リスト内の各QListWidgetItem を管理するために内部モデルを使用します。
より柔軟なリスト・ビュー・ウィジェットには、標準モデルのQListView クラスを使用してください。
リストウィジェットは、他のウィジェットと同じ方法で構築されます:
QListWidget *listWidget = new QListWidget(this);
リストウィジェットのselectionMode() は、リスト内のアイテムのいくつを同時に選択できるか、アイテムの複雑な選択を作成できるかどうかを決定します。これはsetSelectionMode() 関数で設定できます。
リストに項目を追加するには、リスト・ウィジェットを親ウィジェットとして作成する方法と、親ウィジェットを持たずに作成し、後でリストに追加する方法があります。項目を作成するときにリストウィジェットがすでに存在する場合は、最初の方法を使うのが簡単です:
new QListWidgetItem(tr("Oak"), listWidget); new QListWidgetItem(tr("Fir"), listWidget); new QListWidgetItem(tr("Pine"), listWidget);
特定の位置に新しい項目を挿入する必要がある場合は、親ウィジェットなしで作成する必要があります。そして、insertItem() 関数を使用してリスト内に配置します。リスト・ウィジェットがアイテムの所有権を持ちます。
QListWidgetItem *newItem = new QListWidgetItem; newItem->setText(itemText); listWidget->insertItem(row, newItem);
複数のアイテムの場合は、代わりにinsertItems() を使用できます。リスト内のアイテムの数は、count() 関数で確認できます。リストから項目を削除するには、takeItem() を使用します。
リスト内の現在の項目は、currentItem() で確認でき、setCurrentItem() で変更できます。ユーザーは、キーボードでナビゲートするか、別の項目をクリックして、現在の項目を変更することもできます。現在の項目が変更されると、currentItemChanged() シグナルが、新しい現在の項目と、それまで現在の項目であった項目とともに送出される。
QListWidgetItem 、QListView 、QTreeView 、モデル/ビュー・プログラミング、タブ・ダイアログの例も参照してください 。
プロパティの説明
[read-only]
count : const int
このプロパティは、非表示項目を含むリストの項目数を保持します。
アクセス関数:
int | count() const |
currentRow : int
このプロパティは、現在の項目の行を保持する。
現在の選択モードによっては、行が選択されている場合もあります。
アクセス関数
int | currentRow() const |
void | setCurrentRow(int row) |
void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
通知シグナル:
void | currentRowChanged(int currentRow) |
sortingEnabled : bool
このプロパティは、ソートが有効かどうかを保持する。
このプロパティがtrue
の場合、ソートはリストに対して有効であり、このプロパティが false の場合、ソートは有効ではない。
デフォルト値は false です。
アクセス関数:
bool | isSortingEnabled() const |
void | setSortingEnabled(bool enable) |
メンバ関数ドキュメント
[explicit]
QListWidget::QListWidget(QWidget *parent = nullptr)
与えられたparent で空の QListWidget を構築します。
[virtual noexcept]
QListWidget::~QListWidget()
リストウィジェットとそのすべてのアイテムを破棄します。
void QListWidget::addItem(QListWidgetItem *item)
リストウィジェットの最後にitem を挿入します。
警告 QListWidgetItem をQListWidget に追加できるのは一度だけです。同じQListWidgetItem をQListWidget に複数回追加すると、未定義の動作になります。
insertItem()も参照してください 。
void QListWidget::addItem(const QString &label)
label というテキストを持つ項目をリスト・ウィジェットの最後に挿入します。
void QListWidget::addItems(const QStringList &labels)
リスト・ウィジェットの末尾にテキストlabels を持つ項目を挿入します。
insertItems()も参照してください 。
[slot]
void QListWidget::clear()
ビュー内のすべての項目と選択項目を削除します。
警告: すべての項目は永久に削除されます。
void QListWidget::closePersistentEditor(QListWidgetItem *item)
指定されたitem の永続エディタを閉じます。
openPersistentEditor() およびisPersistentEditorOpen() も参照して ください。
QListWidgetItem *QListWidget::currentItem() const
現在の項目を返します。
setCurrentItem()も参照して ください。
[signal]
void QListWidget::currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
このシグナルは、現在の項目が変更されるたびに発行されます。
previous current は新しい現在の項目です。
[signal]
void QListWidget::currentRowChanged(int currentRow)
このシグナルは、現在の項目が変更されるたびに発せられます。
currentRow は現在の項目の行である。現在の項目がない場合、 は -1 です。currentRow
注: currentRow プロパティのノーティファイア・シグナル。
[signal]
void QListWidget::currentTextChanged(const QString ¤tText)
このシグナルは、現在の項目が変更されるたびに発行される。
currentText は現在の項目のテキストデータである。現在の項目がない場合、 は無効です。currentText
[override virtual protected]
void QListWidget::dropEvent(QDropEvent *event)
再実装:QListView::dropEvent(QDropEvent *event)。
[virtual protected]
bool QListWidget::dropMimeData(int index, const QMimeData *data, Qt::DropAction action)
与えられたaction で終了した外部ドラッグ&ドロップ操作によって与えられたdata を、与えられたindex で処理します。data とaction がモデルで処理できる場合はtrue
を返し、そうでない場合はfalse
を返します。
supportedDropActions()も参照 。
void QListWidget::editItem(QListWidgetItem *item)
item が編集可能な場合、編集を開始します。
[override virtual protected]
bool QListWidget::event(QEvent *e)
再実装:QListView::event(QEvent *e)。
QList<QListWidgetItem *> QListWidget::findItems(const QString &text, Qt::MatchFlags flags) const
与えられたflags を使って、文字列text にマッチするテキストを持つアイテムを検索する。
QModelIndex QListWidget::indexFromItem(const QListWidgetItem *item) const
与えられたitem に関連付けられたQModelIndex を返します。
注意: Qt 5.10 より前のバージョンでは、この関数はconst
item 以外の値をとります。
void QListWidget::insertItem(int row, QListWidgetItem *item)
row で与えられたリストの位置にitem を挿入します。
addItem()も参照してください 。
void QListWidget::insertItem(int row, const QString &label)
row で指定された位置のリスト・ウィジェットに、label というテキストを持つ項目を挿入します。
addItem() も参照して ください。
void QListWidget::insertItems(int row, const QStringList &labels)
labels のリストから、指定されたrow から項目をリストに挿入します。
insertItem() およびaddItem() も参照して ください。
bool QListWidget::isPersistentEditorOpen(QListWidgetItem *item) const
項目item に対して永続エディタが開いているかどうかを返します。
openPersistentEditor() およびclosePersistentEditor() も参照して ください。
QListWidgetItem *QListWidget::item(int row) const
リスト内の指定されたrow が設定されている場合は、その項目を返します。そうでない場合は、nullptr
を返します。
row()も参照 。
[signal]
void QListWidget::itemActivated(QListWidgetItem *item)
このシグナルは、item がアクティブになったときに発せられます。item は、システム構成に応じて、ユーザがクリックまたはダブルクリックしたときにアクティブになります。また、ユーザーがアクティベーション・キー(WindowsとX11ではReturn キー、Mac OS XではCommand+O )を押したときにもアクティベートされます。
QListWidgetItem *QListWidget::itemAt(const QPoint &p) const
座標p にあるアイテムへのポインタを返します。この座標は、リスト・ウィジェットのviewport() からの相対座標です。
QListWidgetItem *QListWidget::itemAt(int x, int y) const
これはオーバーロードされた関数です。
座標 (x,y) にある項目へのポインタを返します。座標はリストウィジェットのviewport()からの相対座標です。
[signal]
void QListWidget::itemChanged(QListWidgetItem *item)
このシグナルは、item のデータが変更されるたびに発せられます。
[signal]
void QListWidget::itemClicked(QListWidgetItem *item)
このシグナルは、ウィジェットのアイテム上でマウスボタンがクリックされると、指定されたitem と共に発せられます。
itemPressed() およびitemDoubleClicked()も参照のこと 。
[signal]
void QListWidget::itemDoubleClicked(QListWidgetItem *item)
このシグナルは、ウィジェット内のアイテム上でマウスボタンがダブルクリックされると、指定されたitem と共に発せられる。
itemClicked() およびitemPressed()も 参照。
[signal]
void QListWidget::itemEntered(QListWidgetItem *item)
このシグナルは、マウスカーソルがアイテムに入ったときに発せられる。item は入力された項目である。このシグナルは、mouseTrackingがオンになっているとき、またはアイテムに移動中にマウスボタンが押されたときにのみ発せられます。
QWidget::setMouseTracking()も参照 。
QListWidgetItem *QListWidget::itemFromIndex(const QModelIndex &index) const
与えられたindex に関連付けられたQListWidgetItem へのポインタを返す。
[signal]
void QListWidget::itemPressed(QListWidgetItem *item)
このシグナルは、ウィジェットのアイテム上でマウスボタンが押されると、指定されたitem と共に発せられます。
itemClicked() およびitemDoubleClicked()も参照してください 。
[signal]
void QListWidget::itemSelectionChanged()
このシグナルは、選択範囲が変更されるたびに発行されます。
selectedItems()、QListWidgetItem::isSelected()、currentItemChanged()も参照 。
QWidget *QListWidget::itemWidget(QListWidgetItem *item) const
指定されたitem に表示されているウィジェットを返します。
setItemWidget() およびremoveItemWidget()も参照 。
QList<QListWidgetItem *> QListWidget::items(const QMimeData *data) const
data オブジェクトに含まれる項目へのポインタのリストを返します。オブジェクトが同じプロセスのQListWidget によって作成されていない場合、リストは空です。
[virtual protected]
QMimeData *QListWidget::mimeData(const QList<QListWidgetItem *> &items) const
指定されたitems の直列化された説明を含むオブジェクトを返す。項目の説明に使用される形式は、mimeTypes() 関数から取得します。
項目のリストが空の場合、直列化された空のリストの代わりにnullptr
が返される。
[virtual protected]
QStringList QListWidget::mimeTypes() const
リストウィジェット項目のリストを記述するために使用できるMIMEタイプのリストを返します。
mimeData()も参照してください 。
void QListWidget::openPersistentEditor(QListWidgetItem *item)
与えられたitem のエディタを開きます。エディタは編集後も開いたままです。
closePersistentEditor() およびisPersistentEditorOpen() も参照して ください。
void QListWidget::removeItemWidget(QListWidgetItem *item)
指定されたitem に設定されたウィジェットを削除します。
リストから項目(行)を完全に削除するには、その項目を削除するか、takeItem() を使用します。
itemWidget() およびsetItemWidget()も参照 。
int QListWidget::row(const QListWidgetItem *item) const
指定されたitem を含む行を返します。
item() も参照 。
[slot]
void QListWidget::scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
item が表示されるように、必要に応じてビューをスクロールします。
hint は、操作後の の位置を指定します。item
QList<QListWidgetItem *> QListWidget::selectedItems() const
リスト・ウィジェットで選択されているすべての項目のリストを返します。
void QListWidget::setCurrentItem(QListWidgetItem *item)
現在の項目をitem に設定します。
選択モードがNoSelection でない限り、その項目も選択されます。
currentItem()も参照してください 。
void QListWidget::setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command)
指定されたcommand を使用して、現在の項目をitem に設定します。
void QListWidget::setCurrentRow(int row, QItemSelectionModel::SelectionFlags command)
指定されたcommand を使用して、現在の行を指定されたrow に設定します、
注釈: プロパティcurrentRow に対するセッター関数。
currentRow()も参照 。
void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget)
与えられたitem に表示されるwidget を設定する。
この関数は、リスト・ウィジェット項目の代わりに静的コンテンツを表示する場合にのみ使用します。カスタムの動的コンテンツを表示したり、カスタムのエディタ・ウィジェットを実装したい場合は、代わりにQListView とQStyledItemDelegate のサブクラスを使用してください。
注: リストはwidget の所有権を持ちます。
itemWidget(),removeItemWidget(),Delegate Classesも参照してください 。
[override virtual]
void QListWidget::setSelectionModel(QItemSelectionModel *selectionModel)
再インプリメント:QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)。
void QListWidget::sortItems(Qt::SortOrder order = Qt::AscendingOrder)
指定されたorder に従って、リストウィジェットのすべてのアイテムをソートします。
[virtual protected]
Qt::DropActions QListWidget::supportedDropActions() const
このビューでサポートされているドロップアクションを返します。
Qt::DropActionsも参照してください 。
QListWidgetItem *QListWidget::takeItem(int row)
リストウィジェットの指定されたrow からアイテムを削除して返します。そうでない場合はnullptr
を返します。
リストウィジェットから削除されたアイテムは Qt によって管理されないので、手動で削除する必要があります。
insertItem() およびaddItem()も参照してください 。
QRect QListWidget::visualItemRect(const QListWidgetItem *item) const
item にあるアイテムが占めるビューポート上の矩形を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。