縱向列表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
,也可以選中一個項目點擊刪除進行刪除操作。