Seite 1 von 1
Default Paramteter für QList
Verfasst: 1. März 2010 23:22
von Rumbert
Hallo,
ich würde gerne einer Methode einen Default parameter übergeben.
Code: Alles auswählen
void test(QString name = "leer", QList <QImage> imgList = ??? );
Die Liste soll ein Image aus einer Resource enthalten
Code: Alles auswählen
QImage(QString::fromUtf8(":/frame/images/default.png")) );
aber irgendwie bekommeich die Liste nicht initialisiert.
Kann mir jemand ein Tip geben?
Grüße André
Verfasst: 2. März 2010 06:29
von Christian81
Sowas geht nicht - zumindest nicht so wie du es Dir vorstellst.
Verfasst: 2. März 2010 08:53
von kater
Mit Pointer ist es möglich wird aber eklig. Also als 2. Arguemnt ein Pointer auf QList der per default NULL ist.
Dann testest du ob er NULL ist. Wenn ja erstellst du eine neue Liste und fuegst dein Bild hinzu, wenn nicht arbeitest einfach mit der übergebenen Liste.
Beim beenden der Funktion musst du deine evtl. erstellte Liste wieder löschen aber nur wenn der Pointer vorher NULL war, also keine Liste übergeben wurde.
Also ist nicht so das wahre.
Verfasst: 2. März 2010 09:14
von Christian81
Eine leere Liste als Object bzw. Referenz geht auch. Aber keine schon vorinitialisierte.
Verfasst: 2. März 2010 09:29
von AuE
Es sei denn du baust dir was eigenes

Dann kannst dir nen Ctor so basteln wie ihn haben magst
Verfasst: 2. März 2010 09:30
von archer
Es geht, meine ich auch, indirekt mit einer vorinitialisierten Liste.
Im Header, z.B: unter private eine statische Methode anlegen
dann in der cpp
Code: Alles auswählen
QList<QImage> MyClass::defaultList()
{
QList<QImage> list;
list << QImage(QString::fromUtf8(":/frame/images/default.png"));
return list;
}
dann könnte man soewas machen
Ist allerdings nicht getestet und vielleicht auch nicht schön...
Verfasst: 2. März 2010 10:49
von RHBaum
Ist allerdings nicht getestet und vielleicht auch nicht schön...
Im Gegenteil ich find das absolut "schoen"
Ich verwend das recht haeufig, das ich ich static methoden hab, nur um zeugs in die initialisierungsliste zu bekommen.
Ich find die Alternativen wesentlich unschoener
Ciao ...
[gelöst] Default Paramteter für QList
Verfasst: 2. März 2010 16:14
von Rumbert
Vielen Dank für die zahlreichen Anregungen!
Fürs erste habe ich das mittels Pointer gelöst, wenn Zeit ist werde ich es evtl. auf die Version mit der Static-Methode umbauen.
Grüße André