纵向列表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
,也可以选中一个项目点击删除进行删除操作。