QTableWidget通过userdata查找一行

标签 qt find row qtablewidget user-data

QTableWidget有一个方法来搜索包含用户数据的行吗?

类似于:

//set user data
row->setData(0, Qt::UserRole, "ID001");

//find row by user data
int rowIndex = table->findByData("ID001");

最佳答案

您可以使用QAbstractItemModel::match()

QAbstractItemModel *model = table->model();
QModelIndexList matches = model->match( model->index(0,0), Qt::UserRole, "ID001" )

foreach( const QModelIndex &index, matches )
{
    QTableWidgetItem *item = table->item( index.row(), index.column() )
    // Do something with your new-found item ...
}

关于QTableWidget通过userdata查找一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11851854/

相关文章:

c++ - qt编译错误: symbol(s) not found for architecture x86_64

linux - find 中的 -prune 选项有什么作用?

sql - 反序列化要记录的文本

ios - 以编程方式在表行点击上推送 VC

mysql - JPA EntityManager 使用区分大小写的键查找

Oracle 表中的随机行

qt - 当我按下 QSpinbox 中的箭头时,如何防止双 valueChanged 事件?

qt - 如何从QTextStream制作QString?

qt - 我正在关注 Qt 教程并得到一个简单的问题

bash - find -exec 的变量包含带有引号的 codesign 命令