Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在QListWidget中动态插入项_C++_Sql_Qt - Fatal编程技术网

C++ 在QListWidget中动态插入项

C++ 在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); 当它被

我想做的是从sql数据库中获取输入,并将所有这些数据放入QListWidget中,但我不知道会有多少数据,我还需要知道单击时单击的数据的id


有什么想法吗?

如果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的事情,但没有真正查看它。我也要试试——谢谢你问这个问题。如果只有一个表,那么模型也有一个可编辑的版本。酷。