Komische Compilerfehler bei Qt4
-
Hi Leute,
ich hab grad mit Qt4 begonnen und wollt nur ein kleines prog schreiben, dass eigentlich gar nix macht. Es besteht eigentlich nur aus 'nem eigenen Widget, das so was ähnliches wie ein Schachbrett zeichnen soll.
Leider kompilierts nicht, keine ahnung warum. Code und Fehler folgen:MapWidget.h
#ifndef MapWidget #define MapWidget #include <QWidget> class MapWidget : public QWidget { Q_OBJECT public: MapWidget(QWidget *parent = 0); protected: void paintEvent(QPaintEvent *event); }; #endif
MapWidget.cpp
#include <QPaintEvent> #include <QPainter> #include "MapWidget.h" MapWidget::MapWidget(QWidget *parent) : QWidget(parent) { //setPalette(QPalette(QColor(250, 250, 200))); //setAutoFillBackground(true); } void MapWidget::PaintEvent(QPaintEvent * /*event */ ) { QPainter painter(this); painter.setPen(QT::NoPen); painter.translate(0, height()); for(int i = 1; i < 100; i+=10) { if( i%2 == 0 ) { painter.setBrusch(QT::black); else { painter.setBrusch(QT::white); painter.drawRect(QRect(i-1, 0, 10, 10)); } }
main.cpp
#include <QApplication> #include "MapWidget.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MapWidget mapWidget; mapWidget.setGeometry(0, 0, 100, 10); mapWidget.show(); return app.exec(); }
joa und das hier schreibt mir mein Compiler (mingw 3.4.2):
release\main.o main.cpp
In file included from main.cpp:3:
MapWidget.h:10: error: expected `)' before '*' tokenMapWidget.h:7: error: an anonymous union cannot have function members
MapWidget.h:14: error: abstract declarator `<anonymous class>' used as declaration
MapWidget.h:14: error: namespace-scope anonymous aggregates must be staticmain.cpp: In function
int qMain(int, char**)': main.cpp:8: error:
widget' undeclared (first use this function)
main.cpp:8: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:8: error: expected identifier before ';' token
main.cpp:9: error: `mapWidget' undeclared (first use this function)make.exe: *** [release\main.o] Error 1
kann mir irgendwer helfen? Ich verzweifle hier noch...
-
MapWidget.h:10: error: expected `)' before '*' token
Der Konstruktor-Funktionskopf im Header und in der Cpp-Datei stimmen nicht miteinander überein.
Eventuell müsstest du noch <QPaintEvent> im Header inkludieren, damit das Kompilieren klappt.
-
ok, habs jetzt hinbekommen. hab es einfach noch einmal neu geschrieben und voila es hat funktioniert.