QT4 QTableWidget 3 Fragen:

Alles rund um die Programmierung mit Qt
Antworten
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

QT4 QTableWidget 3 Fragen:

Beitrag von nando »

Hallo,
ich versuche gerade folgende 3 Sachen zu implementierten:

1. QTableWidget ohne vertikale Headers
2. beim click in eine Zelle soll die ganze Zeile selektiert werden
3. ein bestimmte Zeile komplett selektieren.

Weiss einer wie das geht ?

Zu 1:
Habe schon probiert setVerticalTableHeaders mit einer leeren Liste... geht aber nicht.

Zu 2 und 3: Keine Ahnung.....

Gruss,
Nando
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Re: QT4 QTableWidget 3 Fragen:

Beitrag von patrik08 »

nando hat geschrieben:Hallo,
1. QTableWidget ohne vertikale Headers
2. beim click in eine Zelle soll die ganze Zeile selektiert werden
3. ein bestimmte Zeile komplett selektieren.
1- wass sind vertikale Headers?
3 click und doppelclick zuweisen

die 1/2 class aus meinem projekt der die excel tabelle aufuelt...

http://sourceforge.net/projects/qtexcel-xslt/ ...

2- signal umleiten von feld zu row .... oder doppelclick zuweisen

Code: Alles auswählen

void Include_Table::RefillTable( QString tablesql )
{
        noloop = 10;
        structuresql = GetStructureTable(tablesql);
        bool have_index = structuresql.contains("integer primary key", Qt::CaseInsensitive);
        tablename = tablesql; /*  save on class !*/
        QSqlQuery query;
        /* check if as INTEGER PRIMARY KEY */
    
        sqlmodel = new QSqlTableModel();
        sqlmodel->setTable( tablesql );
        sqlmodel->setEditStrategy(QSqlTableModel::OnRowChange);
        sqlmodel->select();
        tabella_core->setModel(sqlmodel);
        tabella_core->setItemDelegate(new QSqlRelationalDelegate(tabella_core));
        horizontalheader = new QHeaderView(Qt::Horizontal,this);
        horizontalheader = tabella_core->horizontalHeader();
        connect (horizontalheader,SIGNAL(sectionClicked(int)),this,SLOT(sortColumn(int)));
        if (have_index) {
        vertikalheader = new QHeaderView(Qt::Vertical,this);
        vertikalheader = tabella_core->verticalHeader();
        connect (vertikalheader,SIGNAL( sectionDoubleClicked(int)),this,SLOT(VertikalRow(int)));
        }
        /*  discovery total row/cools  register on class ..... start */
        summ_rows = sqlmodel->rowCount();  /*  save on class !*/
        summ_cools = sqlmodel->columnCount(); /*  save on class !*/
        /*  discovery total row/cools ..... end  */
        if (have_index) {
        insert_row->setEnabled(true);
        create_index_button->setEnabled(false);
        /* debugline->setText( QString( "%1 index ok" ).arg( int2char( summ_cools )  ) ); */
        row_total->display( QString( "%1" ).arg( int2char( summ_rows ) ) );   
        } else {
        insert_row->setEnabled(false);
        create_index_button->setEnabled(true);
        /* debugline->setText( QString( "%1 noindex" ).arg( int2char( summ_cools ) ) ); */
        row_total->display( QString( "%1" ).arg( int2char( summ_rows ) ) );  
        }            
}

nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

vertical header sind die headers, die links standard maessig aufsteigende zahlen sind...

HH = Horizontale Header
VH = Vertikale Header

HH1 HH2 HH3 HHn
VH1 COL1 COL2 COL3 ... COLn
VH2
VH3
VH4
VHn

Bei den horizontalen headers funktioniert das..... aber die vertikalen brauche ich nciht...
wie bekomm ich die weg ??

Viele Gruesse,
Nando
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Es gibt nur einen vertikalen Header...

Code: Alles auswählen

verticalHeader()->hide();
Und dann könntest du dir das SelectionModel anschauen, da gibt's das was du suchst...
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Hi,
ja das funktioniert aber nur bei QT3 ... oder ?
in QT4 habe ich die methode nicht gefunden....

Gruss,
Nando
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Habs gefunden....
Du hattest recht...

das ding is ne methode von QTableView... und QTableWidget leitet ja davon ab.....
man muss dann nur QHeaderView includen und dann gehts...


Danke noch mal... Jetzt schau ich mir mal das Selection Model an..

Gruss,
Nando
Antworten