ich bin neu in der QT-Programmierung und habe zur Zeit ein Problem an dem ich einfach nicht mehr weiterkomme.
Ich will ein Programm schreiben, dass einzelne Icons vor einem Hintergrundbild visualisiert. Nach langem überlegen habe ich mich dafür entschieden das mit QListView und QListViewItems zu realisieren. Soweit klappt das auch ganz gut. Das einzige was nicht funktioniert ist die Darstellung der Icons (QListViewItems) an einer bestimmten Stelle des Fensters. Ich habe schon beide move()- und beide moveBy()-Methoden ausprobiert, aber keine davon funktioniert, obwohl sie sogar TRUE zurückliefern. Die Icons bleiben einfach in der linken oberen Ecke und bewegen sich keinen Millimeter.
Mein Code ist:
Code: Alles auswählen
#include <qiconview.h>
#include <qapplication.h>
#include <qdragobject.h>
#include <qpixmap.h>
#include <qiconset.h>
#include <qmime.h>
#include <stdio.h>
#include <qpoint.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QIconView qiconview;
qiconview.setSelectionMode( QIconView::Extended );
QPixmap pixmap;
pixmap.load("Hintergrundbild.png");
qiconview.setPaletteBackgroundPixmap ( pixmap );
qiconview.setCaption("Beispiel Bild");
qiconview.setFixedSize ( 792, 414);
pixmap.load("designer_radiobutton.png");
for ( int i = 0; i < 5; i++ )
{
QIconViewItem *item = new QIconViewItem( &qiconview, QString( "Icon %1" ).arg( i + 1 ), pixmap );
if(item->move( i*100, i*100)) printf("OK"); // Das hier funktioniert nicht!!!
item->setRenameEnabled( FALSE );
}
a.setMainWidget( &qiconview );
qiconview.show();
return a.exec();
}