[Qt4.13] Bug im ListView?

Alles rund um die Programmierung mit Qt
Antworten
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

[Qt4.13] Bug im ListView?

Beitrag von Esleborn »

hi,
- QListview im IconMode, mit rootIndex a
- Verschiebt man jetzt ein Item an eine andere Position (nicht das erste, da sieht man nichts)
- Anschließend ändert man per setRootIndex den index zu b
- Anschließend ändert man per setRootIndex den index zurück zu a

Jetzt liegen die vorhin verschobenen Items auf der Position des ersten Items.


Bei Qt4.12 geht das ganze mit dem gewünschten Effekt:
Die Items liegen wie ganz am Anfang...
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

kann das einer verifizieren?
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

könnte wohl jemand den angehängten Code ausprobieren. Ich hab nur ein Qt mit inoffizielen Patch für MS Visual Studio 2003... das nehmen die als Bugbeschreibung nicht an...

Wenn man das Programm öffnet (QT413 kompiliert, achtet drauf, dass auch die richtigen dynamischen libs verwendet werden, wenn ihr dynamisch linkt), uss man drauf achten, dass man nciht in einem Rootverzeichnis ist, da ich um den rootindex zu ändern (DirModel) einmal cd ( ".." ) aufrufe :).

Dann der eigentliche Test:
  • 1. man bekommt das momentane Verzeichniss angeziegt (in einem Listview, IconMode).
    2. Man verschiebt ein paar Items
    3. Man drückt den Button
    4. Wenn es den Bug gibt, dann werden jetzt mehrere Items auf die Position des "links-oberstes" items angezeigt (um genau zu sein, alle die verschoben wurde und das was davor schon auf der "obersten" Stelle lag)
Danke für die Verifizierung
Elgrimm Esleborn

PS: Der Code ist nicht so ganz sauber, sorry, aber ich hatte nicht wirklcih viel Zeit...
Dateianhänge
main.cpp
(1.92 KiB) 137-mal heruntergeladen
main.h
(517 Bytes) 144-mal heruntergeladen
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

ok ich hab jetzt mal den Code bisele aufgeräumt...

(vllt kann einer mein .... nenn wir es englisch ... verbessern? *g)
Dateianhänge
main.cpp
(2.02 KiB) 158-mal heruntergeladen
main.h
(481 Bytes) 142-mal heruntergeladen
Glaube an eine Lösung, nur dann kannst du auch eine finden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Den Fehler kenne ich, allerdings in etwas anderer Form. Ich habe aber mal deine Sourcen geändert und dann taucht er auch auf. Setz das GridSize mal größer als die Icons, so das Du etwas zwischen Icons ablegen kannst. Wenn Du jetzt ein Icon zwischen zwei andere legst, dann wird das Icon auf das obere Icon drauf gepappt. Man bekommt sie dann nicht mehr getrennt.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

mmh supi... welchen Compiler hast du verwendet?

Ist der Bug schon reported? (hab ihn nicht gefunden...)
Glaube an eine Lösung, nur dann kannst du auch eine finden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Visual Studio 8, aber das spielt wohl kaum eine Rolle. Im TaskTracker habe ich den Bug auch noch nicht gefunden und zu einem Beispiel bin ich noch nicht gekommen. Könnte ich aber heute machen.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

mmh benutzt du den inoffizielen Patch?

Weil wir brauchen die Verifikation mti einem "offizeilen" Compiler...
Glaube an eine Lösung, nur dann kannst du auch eine finden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Nein, alles Vollversionen. Report ist schon raus, mit diesem Stückchen Code (für Linux sollte man das C: ersetzen):

Code: Alles auswählen

# include <QApplication>
# include <QListView>
# include <QDirModel>

int main ( int argc, char **argv )
{
	QApplication app(argc, argv);
	QDirModel* mp_model = new QDirModel ( NULL );
	QListView* mp_view = new QListView;
	mp_view->setModel ( mp_model );
	mp_view->setRootIndex ( mp_model->index ( "C:" ) );
	mp_view->setCurrentIndex ( mp_model->index ( "C:" ) );
	mp_view->setMovement ( QListView::Snap );
	mp_view->setGridSize ( QSize ( 60, 60 ) );
	mp_view->show ( );

	app.exec ( );

	return 0;
}
Man kann locker Icons auf andere Icons pappen und Redrawfehler gibt es auch, wenn mal runter scrollt und dort Drag&Dropped :-)
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

mmh schick mal bug nummer, sobald bekannt
Glaube an eine Lösung, nur dann kannst du auch eine finden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Lang hat's gedauert, aber dann kam doch noch Antwort :-)
http://www.trolltech.com/developer/task ... thod=entry
Antworten