前言
最近在项目中用到QListWidget,将一些数据日志用QListWidget显示。QListWidget数据是一定时间段内是实时刷新的(会一直addItem), 每次刷新显示最新添加的数据。
添加数据并设置当前项(无效)
QString text = QString::fromLocal8Bit("TestRow%1").arg(ui->listWidget->count()); ui->listWidget->addItem(text); ui->listWidget->setCurrentRow(ui->listWidget->count()); //此处设置无效,设置的项不选中,也不跳转到指定的项
添加数据并设置当前项(有效)
QString text = QString::fromLocal8Bit("TestRow%1").arg(ui->listWidget->count()); QListWidgetItem *item = new QListWidgetItem(text, ui->listWidget); ui->listWidget->addItem(item); ui->listWidget->setCurrentItem(item);
添加数据并设置当前项(有效另一种)
QString text = QString::fromLocal8Bit("TestRow%1").arg(ui->listWidget->count()); ui->listWidget->addItem(text); ui->listWidget->item(ui->listWidget->count() - 1)->setSelected(true); // 设置选中 ui->listWidget->scrollToBottom(); // 关键 scrollTo/scrollToItem 也可以
效果截图