2012-04-28 25 views
0

私がしたいことは、SQLデータベースからの入力を取り込み、これらのデータをすべてQListWidgetに入れることですが、どれくらいの数のデータが存在するのかわかりません。クリックされたときにクリックされたID。QListWidgetに項目を動的に挿入

アイデア?

答えて

1

strが、SQLクエリからのラベルで、nは、その後のIDである場合:

でIDを設定
QListWidgetItem* i = new QListWidgetItem(str); 

i->setData(Qt::UserRole, n); 

および追加

はであなたのアイテムを作成ウィジェットへ:

そのクリックしたときに、あなたは

void QListWidget::itemActivated (QListWidgetItem * item) [signal] 

があなたのクラスのスロットにこれを接続し、

item->data(Qt::UserRole).toInt(); 

に戻ってIDを取得信号を取得します。しかし、これはまたQTableViewとQSqlQueryModelを使用するには良い時間です。

+0

この場合、QTableViewを使用しますか? – lpostula

+1

Qt4のQTableWidgetはQt3のQListViewに最も近いものです。 ViewクラスよりもWidgetクラスのほうがはるかに早いですが、Viewクラスはかなりクールです。ビュー内でSQLテーブルをインラインで編集する必要がない場合は、QTableViewとQSqlQueryModelを一緒に使うのが最善の策かもしれません。 – Julian

+0

ありがとう、ありがとう、私はQSqlQueryModelについて読むつもりです、ありがとう – lpostula

関連する問題