Zum Inhalt springen

QT: Slot Problem


hscade

Empfohlene Beiträge

Mein Problem is das ich garnichts mehr kompilieren kann ohne eine WallofFehlermeldungen zu bekommen die im zusammenhang mit dem moc haengen.

Das es is im warsten Sinne des Wortes eine Wall ist nur ein kleiner Ausschnitt der Fehlermeldung:


mocs\moc_TableWidget.cpp:11:2: #error "The header file 'TableWidget.cpp' doesn't include <QObject>

mocs\moc_TableWidget.cpp:18: error: 'uint' does not name a type

mocs\moc_TableWidget.cpp:38: error: 'QMetaObject' does not name a type

...
Selbst wenn ich in die TableWidget.cpp #include <QObject> mache zeigt er die selbe Fehlermeldung. app.pro

TEMPLATE = app

TARGET = 

DEPENDPATH += . src

INCLUDEPATH += .



# Input

HEADERS += src/TableWidget.cpp

SOURCES += main.cpp src/TableWidget.cpp



MOC_DIR = mocs

OBJECTS_DIR = obj

TableWidget.cpp

#ifndef RELATION_WIDGET_H

#define RELATION_WIDGET_H


#include <QWidget>

#include <QTablewidget>

#include <QLayout>

#include <QPushButton>

#include <QMessageBox>


class Relation : public QTableWidget {

      Q_OBJECT

      public: 

             Relation(QWidget *parent=0);               


      protected slots:

             void addRow();

};


Relation::Relation (QWidget *parent) {


  setColumnCount(1);  

  setRowCount(1);


}


void Relation::addRow() {


     setRowCount(rowCount()+1);


}


class RelationWidget: public QWidget {


      public:

             RelationWidget ( QWidget *parent=0 );

};


RelationWidget::RelationWidget (QWidget *parent) {  


  QVBoxLayout *layout = new QVBoxLayout;


  Relation *rel = new Relation;


  QPushButton *b1 = new QPushButton("Add Row");

  b1->resize(20,30);

  QObject::connect(b1,SIGNAL(clicked()),rel,SLOT(addRow()));


  layout->addWidget(rel);  

  layout->addWidget(b1);

  setLayout(layout); 


}


#endif

vielleicht findet ihr ja den Fehler ich hab im moment garkeine Ahnung warum dieser Fehler kommt. Ich hab mir doch extra ein Tutorial dazu angeschaut :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

#error "The header file 'TableWidget.cpp' ...

Offenbar hält Qt deine TableWidget.cpp für eine Headerdatei. Das ist schon mal merkwürdig.

Warum hat die Datei eigentlich Include-Guards (#ifndef/#define/#endif)? Die braucht man nur bei Headerdateien. Du bindest doch hoffentlich nicht .cpp-Dateien über Includedirektiven ein?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...