Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QListWidget Class Reference
[QtGui module]

该QListWidget类提供了一个基于项目的列表控件。More...

继承QListView

Methods

Special Methods

Qt Signals


Detailed Description

该QListWidget类提供了一个基于项目的列表控件。

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( )信号被发射的新的当前项目,这是以前的电流的项目。

Screenshot of a Windows XP style list widget Screenshot of a Macintosh style table widget Screenshot of a Plastique style table widget
A Windows XP style list widget. A Macintosh style list widget. A Plastique style list widget.

Method Documentation

QListWidget.__init__ (self, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个空QListWidget用给定的parent

QListWidget.addItem (self, QListWidgetItem aitem)

aitem说法有它的所有权转移给Qt的。

插入的文本的项label在列表窗口小部件的末端。

QListWidget.addItem (self, QString label)

插入item在列表窗口小部件的末端。

Warning: A QListWidgetItem只能添加到一个QListWidget一次。添加相同QListWidgetItem多次给QListWidget将导致不确定的行为。

See also insertItem( ) 。

QListWidget.addItems (self, QStringList labels)

插入项目与文本labels在列表窗口小部件的末端。

See also insertItems( ) 。

QListWidget.clear (self)

这种方法也是一个Qt槽与C + +的签名void clear()

删除所有项,并选择在视图中。

Warning:所有项目将被永久删除。

QListWidget.closePersistentEditor (self, QListWidgetItem item)

关闭持久编辑器给定item

See also openPersistentEditor( ) 。

int QListWidget.count (self)

QListWidgetItem QListWidget.currentItem (self)

返回当前项目。

See also setCurrentItem( ) 。

int QListWidget.currentRow (self)

QListWidget.dropEvent (self, QDropEvent event)

从重新实现QWidget.dropEvent( ) 。

bool QListWidget.dropMimeData (self, int index, QMimeData data, Qt.DropAction action)

把手data由外部拖放操作,与给定的供给结束action在给定的index。返回True如果dataaction可以通过模型来处理,否则返回False 。

See also supportedDropActions( ) 。

QListWidget.editItem (self, QListWidgetItem item)

开始编辑item如果是可编辑的。

bool QListWidget.event (self, QEvent e)

从重新实现QObject.event( ) 。

list-of-QListWidgetItem QListWidget.findItems (self, QString text, Qt.MatchFlags flags)

查找与该字符串匹配的文本项text使用给定的flags

QModelIndex QListWidget.indexFromItem (self, QListWidgetItem item)

返回QModelIndexassocated用给定的item

QListWidget.insertItem (self, int row, QListWidgetItem item)

item说法有它的所有权转移给Qt的。

插入item在由给定的列表中的位置row

See also addItem( ) 。

QListWidget.insertItem (self, int row, QString label)

插入的文本的项label在列表控件由给定的位置row

See also addItem( ) 。

QListWidget.insertItems (self, int row, QStringList labels)

从列表中插入件labels入列表中,开始于指定的row

See also insertItem()和addItem( ) 。

bool QListWidget.isItemHidden (self, QListWidgetItem item)

bool QListWidget.isItemSelected (self, QListWidgetItem item)

bool QListWidget.isSortingEnabled (self)

QListWidgetItem QListWidget.item (self, int row)

返回佔用给定的项目row在列表中,如果已设置,否则返回0 。

See also row( ) 。

QListWidgetItem QListWidget.itemAt (self, QPoint p)

返回一个指针,指向了该项目的坐标p。该坐标是相对于列表控件的viewport()

QListWidgetItem QListWidget.itemAt (self, int ax, int ay)

这是一个重载函数。

返回一个指向该项目在坐标(xy) 。该坐标是相对于列表控件的viewport()

QListWidgetItem QListWidget.itemFromIndex (self, QModelIndex index)

返回一个指针QListWidgetItemassocated用给定的index

list-of-QListWidgetItem QListWidget.items (self, QMimeData data)

返回指针的列表,包含在该项目data对象。如果对象不是由创建QListWidget在同一过程中,该列表是空的。

QWidget QListWidget.itemWidget (self, QListWidgetItem item)

返回在给定显示的窗口小部件item

这个函数是Qt 4.1中引入。

See also setItemWidget( ) 。

QMimeData QListWidget.mimeData (self, list-of-QListWidgetItem items)

QMimeData结果

返回一个对象,该对象包含指定的序列化描述items。用于描述的项目的格式是从所获得的mimeTypes()函数。

如果项目列表为空,则返回一个序列化的空列表0代替。

QStringList QListWidget.mimeTypes (self)

返回可用于描述listwidget项目清单的MIME类型的列表。

See also mimeData( ) 。

QListWidget.openPersistentEditor (self, QListWidgetItem item)

打开一个编辑器为给定的item。该编辑器编辑后仍保持打开状态。

See also closePersistentEditor( ) 。

QListWidget.removeItemWidget (self, QListWidgetItem aItem)

删除给定的窗口小部件设置item

此功能被引入Qt的4.3 。

int QListWidget.row (self, QListWidgetItem item)

返回包含给定的行item

See also item( ) 。

QListWidget.scrollToItem (self, QListWidgetItem item, QAbstractItemView.ScrollHint hint = QAbstractItemView.EnsureVisible)

这种方法也是一个Qt槽与C + +的签名void scrollToItem(const QListWidgetItem *,QAbstractItemView::ScrollHint = QAbstractItemView.EnsureVisible)

滚动的视图,如果必要,以确保item是可见的。

hint指定了item应设在手术后。

list-of-QListWidgetItem QListWidget.selectedItems (self)

返回列表控件所有选定项的列表。

QListWidget.setCurrentItem (self, QListWidgetItem item)

设置当前项目item

除非选择模式为NoSelection时,该项目也被选中。

See also currentItem( ) 。

QListWidget.setCurrentItem (self, QListWidgetItem item, QItemSelectionModel.SelectionFlags command)

当前项设置为item,使用给定的command

此功能被引入Qt的4.4 。

QListWidget.setCurrentRow (self, int row)

QListWidget.setCurrentRow (self, int row, QItemSelectionModel.SelectionFlags command)

QListWidget.setItemHidden (self, QListWidgetItem item, bool hide)

QListWidget.setItemSelected (self, QListWidgetItem item, bool select)

QListWidget.setItemWidget (self, QListWidgetItem item, QWidget widget)

widget说法有它的所有权转移给Qt的。

设置widget要显示在该给予item

此功能只能用于显示在一个列表控件选项的位置静态内容。如果你想显示自定义的动态内容或实现自定义编辑器部件,使用QListView和子类QItemDelegate代替。

这个函数是Qt 4.1中引入。

See also itemWidget()和Delegate Classes

QListWidget.setSortingEnabled (self, bool enable)

QListWidget.sortItems (self, Qt.SortOrder order = Qt.AscendingOrder)

根据指定的列表中的各种插件中的所有项目order

Qt.DropActions QListWidget.supportedDropActions (self)

返回此视图支持的放置动作。

See also Qt.DropActions

QListWidgetItem QListWidget.takeItem (self, int row)

QListWidgetItem结果

移除并从给定的返回项row在列表控件,否则返回0 。

项目从一个列表控件中删除不会被Qt进行管理,并需要手动删除。

See also insertItem()和addItem( ) 。

QRect QListWidget.visualItemRect (self, QListWidgetItem item)

返回矩形上通过了该项目所佔用的视item

QListWidget.__len__ (self)


Qt Signal Documentation

void currentItemChanged (QListWidgetItem *,QListWidgetItem *)

这是该信号的默认超载。

这个信号被发射时的当前项的变化。

previous是,以前有焦点的项目;current是新的当前项。

void currentRowChanged (int)

这是该信号的默认超载。

这个信号被发射时的当前项的变化。

currentRow是当前项目的行。如果不存在当前项目时currentRow是-1。

void currentTextChanged (const QString&)

这是该信号的默认超载。

这个信号被发射时的当前项的变化。

currentText在当前项目中的文字资料。如果不存在当前项目时currentText是无效的。

void itemActivated (QListWidgetItem *)

这是该信号的默认超载。

这个信号被发射时的item被激活。该item被激活时,用户单击或双击就可以了,具体取决于系统的配置。当用户按下启动键(在Windows和X11这是它也被激活了Return键,在Mac OS X是Ctrl+0) 。

void itemChanged (QListWidgetItem *)

这是该信号的默认超载。

这个信号被发射时的数据item已经改变。

void itemClicked (QListWidgetItem *)

这是该信号的默认超载。

这个信号被发射与指定item单击当鼠标按钮上的某个项目中的部件。

See also itemPressed()和itemDoubleClicked( ) 。

void itemDoubleClicked (QListWidgetItem *)

这是该信号的默认超载。

这个信号被发射与指定item当鼠标按钮被双击时的某个项目中的部件。

See also itemClicked()和itemPressed( ) 。

void itemEntered (QListWidgetItem *)

这是该信号的默认超载。

当鼠标光标进入一个项目,这个信号被发射。该item在该项目进入。这个信号只发射时mouseTracking被接通时,或者当在移动到一个产品上,按下鼠标按钮。

See also QWidget.setMouseTracking( ) 。

void itemPressed (QListWidgetItem *)

这是该信号的默认超载。

这个信号被发射与指定item当鼠标按钮在微件压在项目上。

See also itemClicked()和itemDoubleClicked( ) 。

void itemSelectionChanged ()

这是该信号的默认超载。

这个信号被发射时的选择改变。

See also selectedItems( )QListWidgetItem.isSelected()和currentItemChanged( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5