VS8 Custom Builstep für *.h einbinden (MOC)

Verschiedenes zu Qt
Antworten
bierber
Beiträge: 72
Registriert: 27. November 2006 14:12

VS8 Custom Builstep für *.h einbinden (MOC)

Beitrag von bierber »

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:

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();

};
cpp-Datei

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));

	}
    
}
main.cpp

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.
Dateianhänge
bsp.jpg
bsp.jpg (151.62 KiB) 2173 mal betrachtet
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Bentuze qmake oder das Visual Studio Plugin und schreib die custom build steps nicht selbst. Dann gehts es auch ...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
bierber
Beiträge: 72
Registriert: 27. November 2006 14:12

Beitrag von bierber »

jo danke mit dem Addon funktionierts Problemlos
Antworten