ich hab ein QFrame auf dem ich Objekte malen möchte - diese Objekte haben eine draw funktion die ich in dem paintevent von meinem abgeleiteten QFrame aufrufe
wenn mein zu malendes Objekt ein Zeiger ist dann bekomm ich eine fehlermeldung, wenn nicht dann funktioniert alles - würde die Objekte gerne als Zeiger haben.
ant.cpp: In member function `void Ant::draw(QWidget*)':
ant.cpp:44: error: no matching function for call to `QPainter::QPainter(QWidget*&)'
/usr/include/qt4/QtGui/qpainter.h:58: note: candidates are: QPainter::QPainter(const QPainter&)
/usr/include/qt4/QtGui/qpainter.h:71: note: QPainter::QPainter(QPaintDevice*)
/usr/include/qt4/QtGui/qpainter.h:70: note: QPainter::QPainter()
ich geb ja zu das ich das mit den zeigern und referenzen immer noch nicht 100%ig gerafft habe - aber die antwort bringt mich jetzt nicht wirklich weiter
Deiner draw-Funktion übergibst Du einen Zeiger auf dein Widget - also kann man das einfach dem QPainter übergeben. Da QPaintDevice keinen anderen Konstruktor hat, kannst Du es auch nicht anders übergeben. So ist es ja auch die einfachste Möglichkeit.
Allerdings weiss ich nich warum du QPainter mit new erzeugst (und wo myPainter definiert ist). Des weiteren sollten die Klassendeklarationen in ein Header.
was ich ja auch mit aWidget mache ... hab die sachen die nicht zum code gehören rausgenommen
hier bei mir sind die klassen natürlich schön brav in header und cpp aufgeteilt - wenn du etwas zeit hast würde ich mich freuen wenn du dich ma über icq meldest - irgendwie kommt mein problem nicht richtig an