Qt QListWidget setCurrentRow无效解决方法
前言
最近在项目中用到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 也可以
效果截图
版权声明:
作者:小何
链接:https://ligo100.cn/houduanjishu/qt/110.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论