QListWidget#
The QListWidget
class provides an item-based list widget. More…
Synopsis#
Properties#
count
- The number of items in the list including any hidden itemscurrentRow
- The row of the current itemsortingEnabled
- Whether sorting is enabled
Functions#
def
addItem
(label)def
addItem
(item)def
addItems
(labels)def
closePersistentEditor
(item)def
count
()def
currentItem
()def
currentRow
()def
editItem
(item)def
findItems
(text, flags)def
indexFromItem
(item)def
insertItem
(row, item)def
insertItem
(row, label)def
insertItems
(row, labels)def
isPersistentEditorOpen
(item)def
isSortingEnabled
()def
item
(row)def
itemAt
(p)def
itemAt
(x, y)def
itemFromIndex
(index)def
itemWidget
(item)def
items
(data)def
openPersistentEditor
(item)def
removeItemWidget
(item)def
row
(item)def
selectedItems
()def
setCurrentItem
(item)def
setCurrentItem
(item, command)def
setCurrentRow
(row)def
setCurrentRow
(row, command)def
setItemWidget
(item, widget)def
setSortingEnabled
(enable)def
sortItems
([order=Qt.AscendingOrder])def
takeItem
(row)def
visualItemRect
(item)
Virtual functions#
def
dropMimeData
(index, data, action)def
mimeData
(items)def
mimeTypes
()def
supportedDropActions
()
Slots#
def
clear
()def
scrollToItem
(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])
Signals#
def
currentItemChanged
(current, previous)def
currentRowChanged
(currentRow)def
currentTextChanged
(currentText)def
itemActivated
(item)def
itemChanged
(item)def
itemClicked
(item)def
itemDoubleClicked
(item)def
itemEntered
(item)def
itemPressed
(item)def
itemSelectionChanged
()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
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:
listWidget = QListWidget(self)
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:
QListWidgetItem(tr("Oak"), listWidget) QListWidgetItem(tr("Fir"), listWidget) 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.
newItem = 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.
See also
QListWidgetItem
QListView
QTreeView
Model/View Programming Tab Dialog Example
- class PySide6.QtWidgets.QListWidget([parent=None])#
- Parameters:
parent –
PySide6.QtWidgets.QWidget
Constructs an empty QListWidget
with the given parent
.
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
- property PᅟySide6.QtWidgets.QListWidget.count: int#
This property holds the number of items in the list including any hidden items..
- Access functions:
count
()
- property PᅟySide6.QtWidgets.QListWidget.currentRow: int#
This property holds the row of the current item..
Depending on the current selection mode, the row may also be selected.
- Access functions:
currentRow
()setCurrentRow
(row)Signal
currentRowChanged
(currentRow)
- property PᅟySide6.QtWidgets.QListWidget.sortingEnabled: 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.
- Access functions:
setSortingEnabled
(enable)
- PySide6.QtWidgets.QListWidget.addItem(label)#
- Parameters:
label – str
Inserts an item with the text label
at the end of the list widget.
- PySide6.QtWidgets.QListWidget.addItem(item)
- Parameters:
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
- PySide6.QtWidgets.QListWidget.addItems(labels)#
- Parameters:
labels – list of strings
Inserts items with the text labels
at the end of the list widget.
See also
- PySide6.QtWidgets.QListWidget.clear()#
Removes all items and selections in the view.
Warning
All items will be permanently deleted.
- PySide6.QtWidgets.QListWidget.closePersistentEditor(item)#
- Parameters:
Closes the persistent editor for the given item
.
- PySide6.QtWidgets.QListWidget.count()#
- Return type:
int
Getter of property count
.
- PySide6.QtWidgets.QListWidget.currentItem()#
- Return type:
Returns the current item.
See also
- PySide6.QtWidgets.QListWidget.currentItemChanged(current, previous)#
- Parameters:
current –
PySide6.QtWidgets.QListWidgetItem
previous –
PySide6.QtWidgets.QListWidgetItem
This signal is emitted whenever the current item changes.
previous
is the item that previously had the focus; current
is the new current item.
- PySide6.QtWidgets.QListWidget.currentRow()#
- Return type:
int
See also
Getter of property currentRow
.
- PySide6.QtWidgets.QListWidget.currentRowChanged(currentRow)#
- Parameters:
currentRow – int
This signal is emitted whenever the current item changes.
currentRow
is the row of the current item. If there is no current item, the currentRow
is -1.
Notification signal of property currentRow
.
- PySide6.QtWidgets.QListWidget.currentTextChanged(currentText)#
- Parameters:
currentText – str
This signal is emitted whenever the current item changes.
currentText
is the text data in the current item. If there is no current item, the currentText
is invalid.
- PySide6.QtWidgets.QListWidget.dropMimeData(index, data, action)#
- Parameters:
index – int
data –
PySide6.QtCore.QMimeData
action –
DropAction
- 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
.
See also
- PySide6.QtWidgets.QListWidget.editItem(item)#
- Parameters:
Starts editing the item
if it is editable.
- PySide6.QtWidgets.QListWidget.findItems(text, flags)#
- Parameters:
text – str
flags –
MatchFlags
- Return type:
Finds items with the text that matches the string text
using the given flags
.
- PySide6.QtWidgets.QListWidget.indexFromItem(item)#
- Parameters:
- Return type:
Returns the QModelIndex
associated with the given item
.
Note
In Qt versions prior to 5.10, this function took a non-const
item
.
- PySide6.QtWidgets.QListWidget.insertItem(row, item)#
- Parameters:
row – int
Inserts the item
at the position in the list given by row
.
See also
- PySide6.QtWidgets.QListWidget.insertItem(row, label)
- Parameters:
row – int
label – str
Inserts an item with the text label
in the list widget at the position given by row
.
See also
- PySide6.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
.
See also
- PySide6.QtWidgets.QListWidget.isPersistentEditorOpen(item)#
- Parameters:
- Return type:
bool
Returns whether a persistent editor is open for item item
.
- PySide6.QtWidgets.QListWidget.isSortingEnabled()#
- Return type:
bool
Getter of property sortingEnabled
.
- PySide6.QtWidgets.QListWidget.item(row)#
- Parameters:
row – int
- Return type:
Returns the item that occupies the given row
in the list if one has been set; otherwise returns None
.
See also
- PySide6.QtWidgets.QListWidget.itemActivated(item)#
- Parameters:
This signal is emitted when the item
is activated. The item
is activated when the user clicks or double clicks on it, depending on the system configuration. It is also activated when the user presses the activation key (on Windows and X11 this is the Return key, on Mac OS X it is Command+O).
- PySide6.QtWidgets.QListWidget.itemAt(p)#
- Parameters:
- Return type:
Returns a pointer to the item at the coordinates p
. The coordinates are relative to the list widget’s viewport()
.
- PySide6.QtWidgets.QListWidget.itemAt(x, y)
- Parameters:
x – int
y – int
- Return type:
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()
.
- PySide6.QtWidgets.QListWidget.itemChanged(item)#
- Parameters:
This signal is emitted whenever the data of item
has changed.
- PySide6.QtWidgets.QListWidget.itemClicked(item)#
- Parameters:
This signal is emitted with the specified item
when a mouse button is clicked on an item in the widget.
See also
- PySide6.QtWidgets.QListWidget.itemDoubleClicked(item)#
- Parameters:
This signal is emitted with the specified item
when a mouse button is double clicked on an item in the widget.
See also
- PySide6.QtWidgets.QListWidget.itemEntered(item)#
- Parameters:
This signal is emitted when the mouse cursor enters an item. The item
is the item entered. This signal is only emitted when mouseTracking is turned on, or when a mouse button is pressed while moving into an item.
See also
- PySide6.QtWidgets.QListWidget.itemFromIndex(index)#
- Parameters:
index –
PySide6.QtCore.QModelIndex
- Return type:
Returns a pointer to the QListWidgetItem
associated with the given index
.
- PySide6.QtWidgets.QListWidget.itemPressed(item)#
- Parameters:
This signal is emitted with the specified item
when a mouse button is pressed on an item in the widget.
See also
- PySide6.QtWidgets.QListWidget.itemSelectionChanged()#
This signal is emitted whenever the selection changes.
- PySide6.QtWidgets.QListWidget.itemWidget(item)#
- Parameters:
- Return type:
Returns the widget displayed in the given item
.
See also
- PySide6.QtWidgets.QListWidget.items(data)#
- Parameters:
data –
PySide6.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.
- PySide6.QtWidgets.QListWidget.mimeData(items)#
- Parameters:
items –
- Return type:
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.
- PySide6.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
- PySide6.QtWidgets.QListWidget.openPersistentEditor(item)#
- Parameters:
Opens an editor for the given item
. The editor remains open after editing.
- PySide6.QtWidgets.QListWidget.removeItemWidget(item)#
- Parameters:
Removes the widget set on the given item
.
To remove an item (row) from the list entirely, either delete the item or use takeItem()
.
See also
- PySide6.QtWidgets.QListWidget.row(item)#
- Parameters:
- Return type:
int
Returns the row containing the given item
.
See also
- PySide6.QtWidgets.QListWidget.scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])#
- Parameters:
hint –
ScrollHint
Scrolls the view if necessary to ensure that the item
is visible.
hint
specifies where the item
should be located after the operation.
- PySide6.QtWidgets.QListWidget.selectedItems()#
- Return type:
Returns a list of all selected items in the list widget.
- PySide6.QtWidgets.QListWidget.setCurrentItem(item)#
- Parameters:
Sets the current item to item
.
Unless the selection mode is NoSelection
, the item is also selected.
See also
- PySide6.QtWidgets.QListWidget.setCurrentItem(item, command)
- Parameters:
command –
SelectionFlags
Set the current item to item
, using the given command
.
- PySide6.QtWidgets.QListWidget.setCurrentRow(row)#
- Parameters:
row – int
See also
Setter of property currentRow
.
- PySide6.QtWidgets.QListWidget.setCurrentRow(row, command)
- Parameters:
row – int
command –
SelectionFlags
Sets the current row to be the given row
, using the given command
,
- PySide6.QtWidgets.QListWidget.setItemWidget(item, widget)#
- Parameters:
widget –
PySide6.QtWidgets.QWidget
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.
- PySide6.QtWidgets.QListWidget.setSortingEnabled(enable)#
- Parameters:
enable – bool
See also
Setter of property sortingEnabled
.
Sorts all the items in the list widget according to the specified order
.
- PySide6.QtWidgets.QListWidget.supportedDropActions()#
- Return type:
DropActions
Returns the drop actions supported by this view.
See also
DropActions
- PySide6.QtWidgets.QListWidget.takeItem(row)#
- Parameters:
row – int
- Return type:
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.
See also
- PySide6.QtWidgets.QListWidget.visualItemRect(item)#
- Parameters:
- Return type:
Returns the rectangle on the viewport occupied by the item at item
.