2011-11-10 20 views
0

おはようリストQTable - 動的を選択

私は質問があります。

Qtableリストのデータが取得できません。

エラーを表示していません。

マイコード:

#include <QtSql> 
#include "listuser.h" 
#include "conex.h" 


my_listuser::my_listuser(QDialog *parent) 
{ 
    setupUi(this); // this sets up GUI 
    connect(pushButton_list, SIGNAL(clicked()), this, SLOT(list_user())); 

} 


void my_listuser::list_user() 
{ 
     int i=0; 

     conex(); 
     colum_horzHeaders(); 

     QSqlQuery query; 
     query.exec("SELECT name_user FROM user"); 

     while(query.next()) { 
      QString name_user = query.value(0).toString(); 
      tableWidget->setRowCount(i); 
      QTableWidgetItem *item = new QTableWidgetItem(QString("%1").arg(name_user)); 
      tableWidget->setItem(i,0,item); 
      i++; 
     } 
} 

void my_listuser::colum_horzHeaders() 
{ 
    tableWidget->setColumnCount(1); 
    QStringList horzHeaders; 
    horzHeaders << "Name"; 
    tableWidget->setHorizontalHeaderLabels(horzHeaders); 
} 

私は助けのために非常に感謝される

while(query.next()) { 
    QString name_user = query.value(0).toString(); 
    tableWidget->setRowCount(i); 
    QTableWidgetItem *item = new QTableWidgetItem(QString("%1").arg(name_user)); 
    tableWidget->setItem(i,0,item); 
    i++; 
} 

...エラーがここにあると思います。ありがとうございました。

+0

何が壊れていますか?何を修正すると思いますか?あなたが私達に言わない限り、私たちはそれを知る魔法の杖を持っていません。あなたはホグワーツで何時でもですか? –

答えて

3

は、それはあなたがi番目の行にアクセスしている場合は、その行のカウントがゼロベースでindexd行として、少なくともi+1でなければなりません

tableWidget->setRowCount(i+1); 

すべきではありません。

+0

ありがとう、今働いています。ありがとう:D – user628298