|
Letztes Update:
7.
2008
Einstieg in die QCad Libraries
Eine kurze Einführung für Entwickler, welche die QCad Libraries nutzen wollen.
Kompilieren der Beispiele

Die nachfolgenden Beispiele kommen mit allen nötigen Quelldateien
und Projekt Dateien um kompiliert werden zu können.
Vorbereitung

Herunterladen der QCad Libraries
Bevor Sie anfangen müssen Sie die QCad Libraries herunterladen
und kompilieren. Der einfachte Weg ist die
QCad Community Edition herunterzuladen und zu kompilieren. Dadurch
werden auch die QCad Libraries erstellt.
Im Folgenden wird angenommen, dass die QCad Libraries erfolgreich im
Verzeichnis $HOME/qcad2 kompiliert wurden.
Installation der QCad Libraries
Die Beispiele müssen in der Lage sein, die QCad Libraries und ihre
Header Dateien zu finden. Ich empfehle, diese in die Verzeichnisse
$HOME/local/lib und $HOME/local/include zu installieren.
Dies kann automatisch, mit Hilfe der Makefiles geschehen:
cd $HOME/qcad2/dxflib
make install
cd $HOME/qcad2/qcadlib
make install
cd $HOME/qcad2/qcadcmd
make install
cd $HOME/qcad2/qcadactions
make install
cd $HOME/qcad2/qcadquiqt
make install
# falls verfuegbar / benoetigt:
cd $HOME/qcad2/qcadprof
make install
cd $HOME/qcad2/qcadscripting
make install
|
Nun sollte Ihr System in der Lage sein, die Beispiele zu kompilieren:
> qmake example01.pro
> make
g++ -c -pipe -Wall -W -g -I/opt/qt/mkspecs/linux-g++ -I.
-I/home/andrew/local/include -I/opt/qt/include -I.moc/
-o .obj/main.o main.cpp
g++ -o example01 .obj/main.o -Wl,-rpath,/opt/qt/lib
-L/opt/qt/lib -L/usr/X11R6/lib -L/home/andrew/local/lib
-lqcad -lqcadguiqt -ldxf -lqcadguiqt -lqcad -ldxf -lqt
-lXext -lX11 -lm
|
.. und auszuführen:
> ./example01
Line: (10/20/0/50/100/0)
|
Beispiel 1: Erstellen einer Grafik

Dieses Beispiel erstellt eine Grafik mit einer Linie.
#include "qcadlib/rs_graphic.h"
#include "qcadlib/rs_line.h"
/**
* Main.
*/
int main() {
// neue leere Grafik erstellen:
RS_Graphic* graphic = new RS_Graphic();
// Linie von 10/20 zu 50/100
RS_LineData data(RS_Vector(10.0, 20.0), RS_Vector(50.0, 100.0));
RS_Line* line = new RS_Line(graphic, data);
// Linie der Grafik hinzufuegen
graphic->addEntity(line);
// Linie auf Konsole streamen
std::cout << *line;
// Grafik loeschen (dies loescht auch die Linie)
delete graphic;
}
|
Dateien herunterladen

main.cpp |
example01.pro
Beispiel 2: Grafik Ansicht erstellen

Dieses Beispiel erstellt eine Grafik Ansicht um die Linie aus
Beispiel 1 darzustellen.
#include "rs_graphicview.h"
#include "rs_graphic.h"
#include "rs_line.h"
#include "qg_graphicview.h"
#include <qapplication.h>
#include <qmainwindow.h>
/**
* Main.
*/
int main(int argc, char** argv) {
// neue leere Grafik erstellen:
RS_Graphic* graphic = new RS_Graphic();
// Linie von 10/20 zu 50/100
RS_LineData data(RS_Vector(10.0, 20.0), RS_Vector(50.0, 100.0));
RS_Line* line = new RS_Line(graphic, data);
line->setPen(RS_Pen(RS_Color(255,0,0), RS2::Width12, RS2::SolidLine));
// Linie der Grafik hinzufuegen
graphic->addEntity(line);
// Qt Applikation erzeugen:
QApplication app(argc, argv);
// Grafik Ansicht als Applikations Fenster erzeugen:
QG_GraphicView graphicView;
graphicView.setContainer(graphic);
graphicView.setCaption("QCad - Example 2");
app.setMainWidget(&graphicView);
app.connect(&app, SIGNAL(lastWindowClosed()),
&app, SLOT(quit()));
graphicView.show();
return app.exec();
}
|
Dateien herunterladen

main.cpp |
example02.pro
|