C++ 在QListWidget中动态插入项
我想做的是从sql数据库中获取输入,并将所有这些数据放入QListWidget中,但我不知道会有多少数据,我还需要知道单击时单击的数据的idC++ 在QListWidget中动态插入项,c++,sql,qt,C++,Sql,Qt,我想做的是从sql数据库中获取输入,并将所有这些数据放入QListWidget中,但我不知道会有多少数据,我还需要知道单击时单击的数据的id 有什么想法吗?如果str是sql查询中的标签,n是id,那么: 使用以下内容创建您的项目: QListWidgetItem* i = new QListWidgetItem(str); 将id设置为: i->setData(Qt::UserRole, n); 并将其添加到小部件: myListWidget->addItem(i); 当它被
有什么想法吗?如果str是sql查询中的标签,n是id,那么: 使用以下内容创建您的项目:
QListWidgetItem* i = new QListWidgetItem(str);
将id设置为:
i->setData(Qt::UserRole, n);
并将其添加到小部件:
myListWidget->addItem(i);
当它被点击时,你会得到信号
void QListWidget::itemActivated ( QListWidgetItem * item ) [signal]
将此连接到类中的插槽,然后用
item->data(Qt::UserRole).toInt();
但是现在也是使用QTableView和QSqlQueryModel的好时机。在这种情况下,QTableView会有更好的用途吗?Qt4中的QTableWidget与Qt3中的QListView最接近。使用Widget类要比使用View类快得多,但是View类非常酷,如果不需要在视图中在线编辑sql表,那么QTableView和QSqlQueryModel可能是最好的选择。我同意你的看法,这是我一直在寻找的,但是你知道我如何将一个id链接到一行而不必显示它吗。我想有一个QTableView显示类别,但不是他们的id,但我想在我的程序中使用id,这样他们就可以链接起来。顺便说一句,我知道他们做了类似QSqlQueryModel的事情,但没有真正查看它。我也要试试——谢谢你问这个问题。如果只有一个表,那么模型也有一个可编辑的版本。酷。