纵向列表QListWidget
QListWidget 是一个纵向列表控件。
QListWidget属性
| 属性 | 说明 | 
|---|---|
| currentRow | 当前被选中的是第几行。 | 
| count | 一共有多少行。 | 
| sortingEnabled | 是否允许排序。 | 
| isWrapping | 是否允许换行。 | 
| itemAlignment | 元素的对齐方式。 | 
| selectRectVisible | 被选中的元素矩形是否可见。 | 
| spacing | 元素之间的间隔。 | 
QListWidget信号
| 信号 | 说明 | 
|---|---|
| currentItemChanged(QListWidgetItem* current, QListWidgetItem* old) | 选中不同元素时触发,参数是当前选中的元素和之前选中的元素。 | 
| currentRowChanged(int) | 选中不同元素时触发,参数是当前选中的元素。 | 
| itemClicked(QListWidgetItem* item) | 点击某个元素时触发。 | 
| itemDoubleClicked(QListWidgetItem* item) | 双击某个元素时触发。 | 
| itemEntered(QListWidgetItem*item) | 鼠标进入元素时触发。 | 
QListWidget方法
| 方法 | 说明 | 
|---|---|
| addItem(constQString& label) addItem(QListWidgetItem* item) | 列表中添加元素。 | 
| currentItem() | 返回一个 QListWidgetItem*类型,表示当前选中的元素。 | 
| setCurrentItem(QListWidgetItem* item) | 设置选中的哪个元素。 | 
| setCurrentRow(introw) | 设置选中第几行的元素。 | 
| insertItem(constQString& label, int row) insertItem(QListWidgetItem* item, int row) | 在指定位置插入元素。 | 
| item(int row) | 返回 QListWidgetItem*类型,表示第row行元素 | 
| takeItem(int row) | 删除指定行的元素,返回 QListWidgetItem*类型,表示是哪个元素被删除了。 | 
关于QListWidgetItem
QListWidgetItem 是用来表示 QListWidget 中的一个元素的类型,它也有一些方法用于设置它的样式:
| 方法 | 说明 | 
|---|---|
| void setFont(const QFont &font) | 设置字体。 | 
| void setIcon(const QIcon &icon) | 设置图标。 | 
| void setHidden(bool hide) | 设置隐藏。 | 
| void setSizeHint(const QSize &size) | 设置尺寸。 | 
| void setSelected(bool select) | 设置是否选中。 | 
| void setText(const QString &text) | 设置文本。 | 
| void setTextAlignment(int alignment) | 设置文本对齐方式。 | 
使用QListWidget制作一个列表添加
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}
void Widget::on_pushButton_add_clicked()
{QString content=ui->lineEdit->text();if(!content.isEmpty()){ui->listWidget->addItem(content);}
}void Widget::on_pushButton_delete_clicked()
{int row=ui->listWidget->currentRow();ui->listWidget->takeItem(row);
}

可以通过添加按钮将内容添加到右边的
listWidge,也可以选中一个项目点击删除进行删除操作。