[gelöst] treeView->expandToDepth() frisst meine Zeit 28se

Alles rund um die Programmierung mit Qt
Antworten
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

[gelöst] treeView->expandToDepth() frisst meine Zeit 28se

Beitrag von 24dan »

Hallo ich habe ein Zeitproblem mit der Funktion:
treeView->expandToDepth();
Die Funktion frisst das doppelte an Zeit was alle anderen Nutzfunktionen brauchen... 28 Sekunden.

Hier mal mein Source Code Stelle an der ich das verwende.

Code: Alles auswählen


        QFile file("test.txt");
        file.open(QIODevice::ReadOnly);
        model = new TreeModel(file.readAll(), this);
        file.close();

        time.start();
                 ui->treeView->setModel(model);
        qDebug("Daten Ansicht: %dms", time.elapsed());

        time.start();
                 ui->treeView->expandToDepth(2);
        qDebug("Daten expand: %dms", time.elapsed());

        time.start();
            for (int i=0; i<12; i++) ui->treeView->resizeColumnToContents(i);
        qDebug("Daten Contents: %dms", time.elapsed());

        time.start();
                  ui->treeView->show();
        qDebug("Daten Show: %dms", time.elapsed());

Ausgabe:

Code: Alles auswählen

Daten Model: 78ms <- Zeitmessung aus einer anderen Funktion (Model füllen)
Daten Ansicht: 15ms
Daten expand: 30297ms
Daten Contents: 78ms
Daten Show: 0ms
Irgend jemand einen Tip was ich falsch mache? :roll:
Zuletzt geändert von 24dan am 14. März 2010 19:43, insgesamt 1-mal geändert.
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Da es Dein TreeModel ist wüde ich mal nachschauen was da so alles währenddessen passiert.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Hast du evtl. QTreeView::animated auf true stehen?
Wenn ja setz mal auf false.
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Da es Dein TreeModel ist wüde ich mal nachschauen was da so alles währenddessen passiert.
Ich werde mal qDebug in jede Funktion des Model einbauen um zu sehen was dort so abgeht. Melde mich dann. Danke.
franzf hat geschrieben:Hast du evtl. QTreeView::animated auf true stehen?
Wenn ja setz mal auf false.
Habe hier mal die Eigenschaften des TreeView in Bild angehängt. Der Wert war auf FALSE?!?
Dateianhänge
tree01.JPG
tree01.JPG (97.02 KiB) 2771 mal betrachtet
tree02.JPG
tree02.JPG (92.23 KiB) 2771 mal betrachtet
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Denn Sie wissen nicht was sie tun.....

AAAAAI`M SHOCKED BY THE QT MODEL

Hier mal ein paar Funktionen die aufgerufen werden wenn ich ein expand... ausführe.

Code: Alles auswählen

int TreeModel::rowCount parent.isValid() return parentItem->childCount() 
int TreeModel::columnCount !parent.isValid() return rootItem->columnCount() 
int TreeModel::rowCount parent.isValid() return parentItem->childCount() 
int TreeModel::rowCount parent.isValid() return parentItem->childCount() 
int TreeModel::columnCount !parent.isValid() return rootItem->columnCount() 
QModelIndex TreeModel::index childItem return createIndex(row, column, childItem) 
int TreeModel::rowCount parent.isValid() return parentItem->childCount() ...
Zuletzt geändert von 24dan am 6. März 2010 23:37, insgesamt 1-mal geändert.
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Gehts noch, was sollen diese unnötigen langen Debug-Ausgaben hier? Und ich hoffe mal, daß dies ein Bild von dir ist.
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Ja, ahh

... man lässt sich ja belehren.

:oops:
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Antworten