QListWidget類可以實作基于清單的方式展示資料。
QListWidget清單框的建立
QListWidget 是 Qt 所提供的控件類,用于建立清單,該類的繼承關系如下:
QListWidget -> QListView -> QAbstractItemView -> QAbstractScrollArea -> QFrame -> QWidget
其中,QListView 也可用于建立清單,其與QList Widget的不同之處在于,QListView功能更加強大,可以制作複雜的清單,而QListWidget隻能穿件結構簡單的清單
QListWidget清單框的使用
建立好的QListWidget類對象,是一個空清單,我們可以利用QListWidget類及父類提供的屬性、方法等,對建立清單執行各類所需操作。
-
QListWidget清單框周遊使用,增加、删減清單項
(1)周遊QListWidget清單框所有item,并删除重複item
//删除重複清單項
void listWidget::deleteRepetitionItem(QString str)
{
QString list;
int Row=0;
while((ui->listWidget_cali->count()) > Row)
{
list=ui->listWidget_cali->item(Row)->text();
if(str==list)
{
qDebug()<<"删除成功";
ui->listWidget_cali->takeItem(Row);
}
Row++;
}
}
(2)周遊QListWidget清單框所有item,增加未重複item
//增加未重複清單項
void listWidget::add_unRepetitionItem(QString str)
{
QString list;
int Row = 0;
while((ui->listWidget_cali->count()) > Row )
{
list=ui->listWidget_cali->item(Row)->text();
if(str==list)
return;
Row++;
}
ui->listWidget_cali->addItem(str);
}
- 判斷目前清單中含有的清單項的總數,添加彈窗及item顯示
//如果目前清單控件中含有清單項數量為空
if (ui.listWidget_calib->count() <= 0)
{
//添加一個彈窗,預設未點選Yes或No選項時,執行了Yes操作
QMessageBox::StandardButton result = QMessageBox::information(NULL, u8"提示", u8"是否重新建立模闆?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
//彈窗選項選擇Yes
if (result == QMessageBox::Yes)
return;
else
{
//在清單内添加數字顯示
int m_count = 6;
ui.listWidget_calib->clear();
for (int i = 0; i < m_count; i++)
{
ui.listWidget_calib->addItem(QString::number(i));
}
}
}```