VS8 Custom Builstep für *.h einbinden (MOC)
Verfasst: 18. November 2010 16:55
Hallo,
ich arbeite mich gerade in das reine QT ein. Bisher haben wir eine Siemens Applikation verwendet, die QT verwendet, aber mit Siemens speziellen Bereichen erweitert ist.
Hier konnte ich die Custom Buildsteps(CBS) für die Erstellung der moc daten per Rechtsklick auf die h-Datei im Projekt explorer(alles VS08) einrichten. Hierdurch ging ein Fenster in dem ich dann den CBS einrichten konnte(siehe Anhang)
Jetzt habe ich mir eine eigene VS08 installation mit einem QT erstellt und diese auch eingerichtet.
Einfache Programme liefen auch bereits.
Nun möchte ich eine Reihe von Buttons einführen, die danngewisse aktionen ausführen.
Hierzu wurde von mir in der h-Datei ein signal und ein Public-Slot definiert.
Der Compiler sagt nun verständlicher Weise das er es nicht linken kann weil der MOC nicht gestartet wurde, Signal und Slot diesen aber brauchen. (so hab ich das zumindest verstanden)
Wenn ich hier aber nun Rechtsklick auf die h-Datei mache, kommt das mir bekannte Fenster nicht mehr. sondern es werden nur die allgemeine Propertys angezeigt.
Wie bekomme ich nun für die h-Datei den Custom Buildstep hinterlegt?
Danke im voraus
Felix
Hier mal der Code. Alles sehr einfach
h-Datei:
cpp-Datei
main.cpp
EDIT: Ich weiß nicht ob es damit zusammenhängen kann aber beim installieren(nmake) kam ein Fehler nach ca 1h aber die VS umgebung funktionierte für leichtere Programme.
ich arbeite mich gerade in das reine QT ein. Bisher haben wir eine Siemens Applikation verwendet, die QT verwendet, aber mit Siemens speziellen Bereichen erweitert ist.
Hier konnte ich die Custom Buildsteps(CBS) für die Erstellung der moc daten per Rechtsklick auf die h-Datei im Projekt explorer(alles VS08) einrichten. Hierdurch ging ein Fenster in dem ich dann den CBS einrichten konnte(siehe Anhang)
Jetzt habe ich mir eine eigene VS08 installation mit einem QT erstellt und diese auch eingerichtet.
Einfache Programme liefen auch bereits.
Nun möchte ich eine Reihe von Buttons einführen, die danngewisse aktionen ausführen.
Hierzu wurde von mir in der h-Datei ein signal und ein Public-Slot definiert.
Der Compiler sagt nun verständlicher Weise das er es nicht linken kann weil der MOC nicht gestartet wurde, Signal und Slot diesen aber brauchen. (so hab ich das zumindest verstanden)
Wenn ich hier aber nun Rechtsklick auf die h-Datei mache, kommt das mir bekannte Fenster nicht mehr. sondern es werden nur die allgemeine Propertys angezeigt.
Wie bekomme ich nun für die h-Datei den Custom Buildstep hinterlegt?
Danke im voraus
Felix
Hier mal der Code. Alles sehr einfach
h-Datei:
Code: Alles auswählen
#include <QWidget>
#include <QPushButton>
#include <QSizePolicy>
class VertSoftkey : public QWidget
{
Q_OBJECT
public:
VertSoftkey(QWidget *parent = 0);
QPushButton *btn[6] ;
int i;
signals:
void btnpressed();
public slots:
virtual void aktion();
};
Code: Alles auswählen
#include <QtGui>
#include "VertSoftkey.h"
VertSoftkey::VertSoftkey(QWidget *parent) : QWidget(parent)
{
resize(80, 400);
setMinimumSize(80,400);
setMaximumSize(80,400);
setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed,QSizePolicy::DefaultType));
QVBoxLayout *lay = new QVBoxLayout(this);
for(i=0;i<6;i++)
{
btn[i] = new QPushButton( QString("Group%1").arg(i),this);
//btn[i].setText->("BT" + QString(i) );
lay->addWidget(btn[i]);
//setSizePolicy(QSizePolicy(hPolicy, vPolicy, controlType)).
btn[i]->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding,QSizePolicy::PushButton));
}
}
Code: Alles auswählen
#include <QtGui>
#include "VertSoftkey.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
VertSoftkey VertSk;
VertSk.show();
return a.exec();
}
EDIT: Ich weiß nicht ob es damit zusammenhängen kann aber beim installieren(nmake) kam ein Fehler nach ca 1h aber die VS umgebung funktionierte für leichtere Programme.