QListWidget

The QListWidget class provides an item-based list widget. More

Inheritance diagram of PySide2.QtWidgets.QListWidget

Synopsis

Functions

Virtual functions

Slots

Signals

Detailed Description

../../_images/windows-listview.png

QListWidget is a convenience class that provides a list view similar to the one supplied by QListView , but with a classic item-based interface for adding and removing items. QListWidget uses an internal model to manage each QListWidgetItem in the list.

For a more flexible list view widget, use the QListView class with a standard model.

List widgets are constructed in the same way as other widgets:

QListWidget *listWidget = new QListWidget(this);

The selectionMode() of a list widget determines how many of the items in the list can be selected at the same time, and whether complex selections of items can be created. This can be set with the setSelectionMode() function.

There are two ways to add items to the list: they can be constructed with the list widget as their parent widget, or they can be constructed with no parent widget and added to the list later. If a list widget already exists when the items are constructed, the first method is easier to use:

new QListWidgetItem(tr("Oak"), listWidget);
new QListWidgetItem(tr("Fir"), listWidget);
new QListWidgetItem(tr("Pine"), listWidget);

If you need to insert a new item into the list at a particular position, then it should be constructed without a parent widget. The insertItem() function should then be used to place it within the list. The list widget will take ownership of the item.

QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(itemText);
listWidget->insertItem(row, newItem);

For multiple items, insertItems() can be used instead. The number of items in the list is found with the count() function. To remove items from the list, use takeItem() .

The current item in the list can be found with currentItem() , and changed with setCurrentItem() . The user can also change the current item by navigating with the keyboard or clicking on a different item. When the current item changes, the currentItemChanged() signal is emitted with the new current item and the item that was previously current.

class PySide2.QtWidgets.QListWidget([parent=None])

Constructs an empty QListWidget with the given parent .

PySide2.QtWidgets.QListWidget.addItem(label)
Parameters:

label – str

PySide2.QtWidgets.QListWidget.addItem(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Inserts the item at the end of the list widget.

Warning

A QListWidgetItem can only be added to a QListWidget once. Adding the same QListWidgetItem multiple times to a QListWidget will result in undefined behavior.

See also

insertItem()

PySide2.QtWidgets.QListWidget.addItems(labels)
Parameters:

labels – list of strings

Inserts items with the text labels at the end of the list widget.

See also

insertItems()

PySide2.QtWidgets.QListWidget.clear()

Removes all items and selections in the view.

Warning

All items will be permanently deleted.

PySide2.QtWidgets.QListWidget.closePersistentEditor(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Closes the persistent editor for the given item .

PySide2.QtWidgets.QListWidget.count()
Return type:

int

This property holds the number of items in the list including any hidden items..

PySide2.QtWidgets.QListWidget.currentItem()
Return type:

PySide2.QtWidgets.QListWidgetItem

Returns the current item.

See also

setCurrentItem()

PySide2.QtWidgets.QListWidget.currentItemChanged(current, previous)
Parameters:
PySide2.QtWidgets.QListWidget.currentRow()
Return type:

int

This property holds the row of the current item..

Depending on the current selection mode, the row may also be selected.

PySide2.QtWidgets.QListWidget.currentRowChanged(currentRow)
Parameters:

currentRow – int

PySide2.QtWidgets.QListWidget.currentTextChanged(currentText)
Parameters:

currentText – str

PySide2.QtWidgets.QListWidget.dropMimeData(index, data, action)
Parameters:
Return type:

bool

Handles data supplied by an external drag and drop operation that ended with the given action in the given index . Returns true if data and action can be handled by the model; otherwise returns false .

PySide2.QtWidgets.QListWidget.editItem(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Starts editing the item if it is editable.

PySide2.QtWidgets.QListWidget.findItems(text, flags)
Parameters:
  • text – str

  • flagsMatchFlags

Return type:

Finds items with the text that matches the string text using the given flags .

PySide2.QtWidgets.QListWidget.indexFromItem(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

PySide2.QtCore.QModelIndex

Returns the QModelIndex associated with the given item .

Note

In Qt versions prior to 5.10, this function took a non-const item .

PySide2.QtWidgets.QListWidget.indexFromItem(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

PySide2.QtCore.QModelIndex

Returns the QModelIndex associated with the given item .

Note

In Qt versions prior to 5.10, this function took a non-const item .

PySide2.QtWidgets.QListWidget.insertItem(row, label)
Parameters:
  • row – int

  • label – str

PySide2.QtWidgets.QListWidget.insertItem(row, item)
Parameters:

Inserts the item at the position in the list given by row .

See also

addItem()

PySide2.QtWidgets.QListWidget.insertItems(row, labels)
Parameters:
  • row – int

  • labels – list of strings

Inserts items from the list of labels into the list, starting at the given row .

PySide2.QtWidgets.QListWidget.isItemHidden(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

bool

Note

This function is deprecated.

Returns true if the item is explicitly hidden; otherwise returns false .

This function is deprecated. Use isHidden() instead.

PySide2.QtWidgets.QListWidget.isItemSelected(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

bool

Note

This function is deprecated.

Returns true if item is selected; otherwise returns false .

This function is deprecated. Use isSelected() instead.

PySide2.QtWidgets.QListWidget.isPersistentEditorOpen(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

bool

Returns whether a persistent editor is open for item item .

PySide2.QtWidgets.QListWidget.isSortingEnabled()
Return type:

bool

This property holds whether sorting is enabled.

If this property is true , sorting is enabled for the list; if the property is false, sorting is not enabled.

The default value is false.

PySide2.QtWidgets.QListWidget.item(row)
Parameters:

row – int

Return type:

PySide2.QtWidgets.QListWidgetItem

Returns the item that occupies the given row in the list if one has been set; otherwise returns None .

See also

row()

PySide2.QtWidgets.QListWidget.itemActivated(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

PySide2.QtWidgets.QListWidget.itemAt(p)
Parameters:

pPySide2.QtCore.QPoint

Return type:

PySide2.QtWidgets.QListWidgetItem

Returns a pointer to the item at the coordinates p . The coordinates are relative to the list widget’s viewport() .

PySide2.QtWidgets.QListWidget.itemAt(x, y)
Parameters:
  • x – int

  • y – int

Return type:

PySide2.QtWidgets.QListWidgetItem

This is an overloaded function.

Returns a pointer to the item at the coordinates (x , y ). The coordinates are relative to the list widget’s viewport() .

PySide2.QtWidgets.QListWidget.itemChanged(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

PySide2.QtWidgets.QListWidget.itemClicked(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

PySide2.QtWidgets.QListWidget.itemDoubleClicked(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

PySide2.QtWidgets.QListWidget.itemEntered(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

PySide2.QtWidgets.QListWidget.itemFromIndex(index)
Parameters:

indexPySide2.QtCore.QModelIndex

Return type:

PySide2.QtWidgets.QListWidgetItem

Returns a pointer to the QListWidgetItem associated with the given index .

PySide2.QtWidgets.QListWidget.itemPressed(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

PySide2.QtWidgets.QListWidget.itemSelectionChanged()
PySide2.QtWidgets.QListWidget.itemWidget(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

PySide2.QtWidgets.QWidget

Returns the widget displayed in the given item .

PySide2.QtWidgets.QListWidget.items(data)
Parameters:

dataPySide2.QtCore.QMimeData

Return type:

Returns a list of pointers to the items contained in the data object. If the object was not created by a QListWidget in the same process, the list is empty.

PySide2.QtWidgets.QListWidget.mimeData(items)
Parameters:

items

Return type:

PySide2.QtCore.QMimeData

Returns an object that contains a serialized description of the specified items . The format used to describe the items is obtained from the mimeTypes() function.

If the list of items is empty, None is returned instead of a serialized empty list.

PySide2.QtWidgets.QListWidget.mimeTypes()
Return type:

list of strings

Returns a list of MIME types that can be used to describe a list of listwidget items.

See also

mimeData()

PySide2.QtWidgets.QListWidget.openPersistentEditor(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Opens an editor for the given item . The editor remains open after editing.

PySide2.QtWidgets.QListWidget.removeItemWidget(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Removes the widget set on the given item .

To remove an item (row) from the list entirely, either delete the item or use takeItem() .

PySide2.QtWidgets.QListWidget.row(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

int

Returns the row containing the given item .

See also

item()

PySide2.QtWidgets.QListWidget.scrollToItem(item[, hint=EnsureVisible])
Parameters:

Scrolls the view if necessary to ensure that the item is visible.

hint specifies where the item should be located after the operation.

PySide2.QtWidgets.QListWidget.selectedItems()
Return type:

Returns a list of all selected items in the list widget.

PySide2.QtWidgets.QListWidget.setCurrentItem(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Sets the current item to item .

Unless the selection mode is NoSelection , the item is also selected.

See also

currentItem()

PySide2.QtWidgets.QListWidget.setCurrentItem(item, command)
Parameters:

Set the current item to item , using the given command .

PySide2.QtWidgets.QListWidget.setCurrentRow(row, command)
Parameters:
  • row – int

  • commandSelectionFlags

Sets the current row to be the given row , using the given command ,

PySide2.QtWidgets.QListWidget.setCurrentRow(row)
Parameters:

row – int

This property holds the row of the current item..

Depending on the current selection mode, the row may also be selected.

PySide2.QtWidgets.QListWidget.setItemHidden(item, hide)
Parameters:

Note

This function is deprecated.

If hide is true, the item will be hidden; otherwise it will be shown.

This function is deprecated. Use setHidden() instead.

See also

isItemHidden()

PySide2.QtWidgets.QListWidget.setItemSelected(item, select)
Parameters:

Note

This function is deprecated.

Selects or deselects the given item depending on whether select is true of false.

This function is deprecated. Use setSelected() instead.

See also

isItemSelected()

PySide2.QtWidgets.QListWidget.setItemWidget(item, widget)
Parameters:

Sets the widget to be displayed in the given item .

This function should only be used to display static content in the place of a list widget item. If you want to display custom dynamic content or implement a custom editor widget, use QListView and subclass QStyledItemDelegate instead.

PySide2.QtWidgets.QListWidget.setSortingEnabled(enable)
Parameters:

enable – bool

This property holds whether sorting is enabled.

If this property is true , sorting is enabled for the list; if the property is false, sorting is not enabled.

The default value is false.

PySide2.QtWidgets.QListWidget.sortItems([order=Qt.AscendingOrder])
Parameters:

orderSortOrder

Sorts all the items in the list widget according to the specified order .

PySide2.QtWidgets.QListWidget.supportedDropActions()
Return type:

DropActions

Returns the drop actions supported by this view.

See also

DropActions

PySide2.QtWidgets.QListWidget.takeItem(row)
Parameters:

row – int

Return type:

PySide2.QtWidgets.QListWidgetItem

Removes and returns the item from the given row in the list widget; otherwise returns None .

Items removed from a list widget will not be managed by Qt, and will need to be deleted manually.

PySide2.QtWidgets.QListWidget.visualItemRect(item)
Parameters:

itemPySide2.QtWidgets.QListWidgetItem

Return type:

PySide2.QtCore.QRect

Returns the rectangle on the viewport occupied by the item at item .