QWT Bibliothek


Heute möchte ich euch eine QT Bibliothek bekannt machen, womit ihr z.B Funktionsverläufe plotten könnt. Die Bibliothek bietet uns einige Darstellungsformen an. Hier eine kleine Liste
– Histogramm
– Spektrogramm
– Streudiagramm
– und und und…

Hierbei setze ich voraus, dass ihr VS 200X und QT installiert und konfiguriert habt.


Installation

Besorgt euch zuerst die Quelldateien von der QWT-Seite.
Als nächstes legt ihr euch ein Verzeichnis eurer Wahl an. In diesem Fall verwende ich C:\qwt als Pfad.
Entpackt nun die heruntergeladene Datei in dieses Verzeichnis.

Als nächstes wollen wir die qwtconfig.pri editieren. Der Grund hierfür ist, dass QWT standardmäßig nur als release erzeugt wird. Wir wollen aber Debug und Release also build_all!
Hierfür öffnet ihr diese Datei mit einem Texteditor.

Z.Z. ist diese stelle aktiv, die wir aber mit einem # auskommentieren werden

CONFIG += release # release/debug/debug_and_release

Stattdessen werden diese Stelle aktiviert, indem wir das # entfernen

#CONFIG += release_debug

#CONFIG += build_all

Nun speichert ihr diese Datei ab und wechselt in die Visual Studio Console, die im Startmenü erreichbar ist. Wechselt in euer soeben angelegtes QWT Verzeichnis. (cd C:\qwt)

Step1: qmake qwt.pro

Step2: nmake

Die oben genannten Befehle führt ihr nacheinander aus. Der zweite kann eine Weile dauern.


Umgebungsvariable

Auch bei QWT wollen wir in die Umgebungsvariablen. Dies erleichter nachher in VS das Leben.
Erzeugt eine neue Umgebungsvariable mit dem Namen QWTDIR und der dazugehörige Wert sollte das vorhin angelegte QWT Verzeichnis sein.

QWTDIR : C:\qwt

Als nächstes ergänzen wir unsere Umgebungsvariable “Path” indem wir zum Wert folgenden Text hinzufügen %QWTDIR%\lib .

Installation fortsetz.
Mittlerweile dürfte die Kompilierung fertig sein. Mit QWT werden auch Beispiele mitgeliefert,diese könnt ihr,wenn ihr wollt ebenfalls kompilieren. Dafür wechselt ihr in das Unterverzeichnis examples von QWT.

Step1: qmake examples.pro

Step2: nmake

Step3: admin\msvc-qmake.bat vc

Der dritte Schritt ist dafür da um Projektdateien für VS zu erstellen, damit ihr nachher die Beispiel in VS öffnen und kompilieren könnt.


QT Designer Plugin

Um die QWT widgets im QT Designer benutzen zu können, müssen wir einige Sachen kopieren. Hierzu wechselt ihr in euer QWT Verzeichnis, genauer gesagt in:
C:\qwt\designer\plugins\designer
von hier kopiert ihr nun die folgenden Dateien
qwt_designer_plugin5.dll
qwt_designer_plugin5.exp
qwt_designer_plugin5.lib
qwt_designer_plugin5.dll.manifest

in euer QT-Verzeichnis, genauer gesagt in %QTDIR%\plugins\designer


QWT

Nun müssen wir nur noch die eigentlichen QWT Dateien kopieren. Dafür wechselt ihr in das Verzeichnis C:\qwt\lib.
Da wir eben sowohl für Debug also auch für Release Dateien kompiliert habe, müsst ihr hier die beiden vorfinden.
Kopiert nun die beiden DLL’s qwt5.dll und qwtd5.dll in das Verzeichnis %QTDIR%\bin

Danach kopiert ihr diese restlichen Dateien
qwt5.exp
qwtd5.exp
qwtd5.ilk
qwt5.lib
qwtd5.lib
qwtd5.pdb
in das Verzeichnis %QTDIR%\lib

Nun starten sie bitte den QT Designer. Falls sie nun in der Widgetbox auf der linken Seite die QWT widgets nicht entdecken können müssen wir noch etwas erledigen.
Schließen sie den Designer und öffnen sie den Registry Editor (regedit).
Wechseln sie in dem linken Baum zu diesem Schlüssel.
HKEY_CURRENT_USER\Software\Trolltech
Hier werden sie den Schlüssel OrganizationDefaults finden. Löschen sie den gesamten Schlüssel samt Inhalt und schließen sie den Registry Editor. (Vorher ein Backup machen)
Nach einem erneuten Start des QT Designers müssten nun die QWT widgets erscheinen.


QT Toolbox (kommerzielle Nutzer)

Diejenigen, die das Glück haben und die kommerzielle Version von QT mit der VS Integration nutzen  können, müssen nun noch folgendes machen.
Wie ihr vielleicht gemerkt habt, erscheinen in der QT Toolbox die QWT widgets noch nicht aber im QT Designer schon. Der Grund hierfür ist ganz einfach 🙂
Wir müssen noch eine Runde kopieren.

Ihr müsst die Datei qwt_designer_plugin5.dll in euer QT Visual Studio Integration Verzeichnis kopieren.
Es befindet sich entweder in C:\Program Files oder in C:\Programme.
In diesem Ordner muss sich ein Unterverzeichnis für den Designer befinden, wo eventuell noch ein Ordner mit dem Namen plugins vorhanden ist. Da ich gerade die kommerzielle Version nicht zur Verfügung habe, kann ich keine genaueren Angaben machen.
In dieses Verzeichnis müsst ihr diese Datei kopieren, somit werden auch in der QT Toolbox die QWT widgets sichtbar.


VS Einstellung

Bevor wir nun loslegen können, müssen wir paar Kleinigkeiten in VS anpassen. Dafür öffnen wir VS.
Extras -> Optionen -> Projekte und Projektmappen -> VC++-Verzeichnisse
Auf der rechten Seite wählt ihr aus der rechten Kombobox “Includedateien” aus.
Unten fügt ihr folgendes hinzu: $(QWTDIR)\src
Danach wählt ihr aus der Kombobox “Bibliotheksdateien” aus.
Unten fügt ihr folgendes hinzu: $(QWTDIR)\lib
Hiermit wird VS auch bei späteren Projekten wissen, wo die LIBS und SOURCES sind.


Beispielprojekt

Nun wollen wir nach der, hoffentlich erfolgreichen, Konfiguration ein Beispielprojekt kompilieren.
Dafür wechseln wir in das Unterverzeichnis examples von QWT. (C:\qwt).
Dort wechseln wir z.B. in cpuplot und öffnen die Datei cpuplot.vcproj. Nach der Kompilierung dürftet ihr keine Fehler erhalten und die Datei ohne Probleme ausführen können.

Vergewissert euch, dass in den Präprozessor-Optionen von VS QWT_DLL eingetragen ist.
Zusätzlich sollte berücksichtigt werden, dass die Dateien qwt5d.lib (Debug) und qwt5.lib (Release) dem Linker bekannt gemacht werden müssen. Sonst treten beim linken des Projektes Fehler auf.

Troubleshoot

Falls eure qwt5.dll oder qwtd5.dll nicht gefunden wird, liegt es sehr wahrscheinlich daran, dass ihr eure Umgebungsvariablen falsch erzeugt habt. Legt sie alle (QTDIR, QWTDIR, usw..) als Systemvariablen an, bei mir wurde das Problem so gelöst.

Mit der kommerziellen Version von QT (+QT Visual Studio Integration) kann es passieren, dass QWT nicht
in der QT-Toolbox erscheint.
Lösung:

HKEY_CURRENT_USER\Software\Trolltech\OrganisationDefaults
HKEY_CURRENT_USER\Software\Trolltech\Designer

Diese beiden Schlüssel entfernen nun solltet ihr in Visual Studio QWT sehen können.

Falls irgendetwas unklar oder falsch sein sollte bitte die Kommentarfunktion benutzen.

~ by Ferhat Akgün on 04.August 2008.

2 Responses to “QWT Bibliothek”

  1. Thanks for the guid 😉

  2. Hi, ich hab deine Anleitung gelesen und wollte dich fragen, ob du evtl. auch eine Anleitung für die Nutzung von Qt ohne Visual Studio schreiben kannst. Ich hab vor kurzem mit Qt-Programmierung angefangen und habe Qt-SDK (1.2.1) standardmäßig installiert (mingw liefert Qt ja mit) und nutze den Qt-Creator um Anwenden zu implementieren.

    Gruß,
    Max

Leave a comment