Seite 1 von 1

Eine QList in eine QTableWidget bringen hilfe....

Verfasst: 7. Mai 2006 17:57
von patrik08
die QList hat diese definition....
typedef QList<QStringList> rowList;
Sie wird aufgefuelt durch die classe Sqlitedb...
http://ciz.ch/svnciz/dialog_qt/qt4_a/sq ... litedb.cpp
&&
http://ciz.ch/svnciz/dialog_qt/qt4_a/sq ... sqlitedb.h

die qmainwindow hat die classe drinnen ... erweitert...
class GuiMain : public QMainWindow, public Sqlitedb

Die zeilen nummer sind sichtbar sowie die kolonnennamen aus dem QStringList

doch wie bringe ich nun die QList hinein .... gibt es eine methode um sie zu sehen ... damit ich die schleife bauen kann....

Code: Alles auswählen


void GuiMain::PaintTable(QString tablename)
{
    if (isOpen() and browseTable(tablename) ) {
        master_table->clear();
      QStringList fields = browseFields;
      int vertikalrow = getRecordCount();
      int horizontalfield = fields.count();
      
      QMessageBox::information(this, tr("Alert Error!"),QString( "row %1 x %2 table = %3 " ).arg( int2char( vertikalrow ) , int2char( horizontalfield ) , tablename   )); 

      master_table->setRowCount(vertikalrow);
      master_table->setColumnCount(horizontalfield);
      master_table->setHorizontalHeaderLabels(fields);
      
      
     } else {
      master_table->clear();
      QMessageBox::information(this, tr("Alert Error!"),tr("Unable to open table! ")+tablename); 
     }
}


Verfasst: 7. Mai 2006 22:04
von patrik08
Geloest!!!

Nun ist das ganze eine "Statische Libs" fuer sqlite3 ohne 200km plug-in
wen qt static gebuildet wird ... ist dann alles dabei.... ohne dll ecc...
schnell ist es auf jedem fall...

svn co http://ciz.ch/svnciz/dialog_qt/qt4_a/sqlite3_table/ ichteste

Code: Alles auswählen

void GuiMain::PaintTable(QString tablename)
{
    if (!tablename.contains(":")) {
    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
    if (isOpen() and browseTable(tablename) ) {
      master_table->clear();
      QStringList fields = browseFields;
      /*QList data_latin = browseRecs;*/
      int coolpos = 0;
      int vertikalrow = getRecordCount();
      int datanum = browseRecs.count();
      int horizontalfield = fields.count();
      if (DEBUG_WORKING) {
      QMessageBox::information(this, tr("Alert Error!"),QString( "row %1 - %3 x %2 table = %4 " ).arg( int2char( vertikalrow ) , int2char( horizontalfield ) , int2char( datanum ) , tablename   )); 
      }
      master_table->setRowCount(vertikalrow);
      master_table->setColumnCount(horizontalfield);
      master_table->setHorizontalHeaderLabels(fields);
      
     if( datanum > 0) {
            for(int i=0; i < datanum; i++) {
            QStringList linenow =  browseRecs.value(i);
             /* file_put_contents_append("sale.dat", QString( "%1 ---> %2" ).arg( int2char( linenow.size() ) , int2char( i ) ) ); */
            for (int h = 0; h < linenow.size(); ++h) { 
                coolpos++;
                if (coolpos > 0 and coolpos < horizontalfield +1) {
                QString dat = XML_utf8(QString(linenow.at( coolpos )));
                if (DEBUG_WORKING) {
                rowdat = new QTableWidgetItem(QString( "%1-%2" ).arg( dat , int2char( coolpos  ) ) );
                } else {
                rowdat = new QTableWidgetItem(dat);   
                }
                master_table->setItem(i,coolpos - 1 ,rowdat);
                if (DEBUG_WORKING) {
                file_put_contents_append("sale.dat", QString( "dat = %1 /-/ pos = %2 " ).arg( dat , int2char( h ) )); 
                }
                }
              
            }
             coolpos=0; 
               if (DEBUG_WORKING) {
               file_put_contents_append("sale.dat","----------------------------------");
               }
            }
         
     }
      
     } else {
      master_table->clear();
      QMessageBox::information(this, tr("Alert Error!"),tr("Unable to open table! ")+tablename); 
     }
     QApplication::restoreOverrideCursor(); 
   } /* select table ::: */
}