Forum: PC-Programmierung schnelle GUI mit wxWidgets für win-prog einsteiger?


von Moritz E (Gast)


Lesenswert?

Hallo Forum,

konkret möchte ich eine Messdaten-Anzeige und Aufbereitung 
(Visualisierung) auf der PC-Seite für eine Schaltung über RS232 
zusammenstricken, und das möglichst fix, also mit möglichst gutem 
Aufwand/Nutzen-Verhältnis.

Dazu habe ich C/C++ Grundlagen drauf, die in den letzten Jahren eher 
brach gelegen haben, mit konkreter Windows-Programmierung habe ich noch 
nie was gemacht, konkret heißt das, das ich keinerlei erfahrung mit c 
STL oder win apis habe, das Programm für meinen AVR habe ich komplett in 
ASM geschrieben (inzwischen auf 20kb angewachsen, ich weiß da macht 
langsam c mehr sinn, es sah anfangs nicht nach dem Umfang aus)

Jetzt ist die Frage, wie kriege ich das am schnellsten hin. Mit 
irgendwelchen Skriptsprachen will ich mich nicht noch belasten (Qt oder 
Py), und jede Zeile per Hand schreiben ist auch nicht drin. Daher habe 
ich mir in den letzten Tagen mal einige Nächte zu wxWidgets um die Ohren 
geschlagen (aufgrund von einigen Erwähnungen in diesem Forum).

Da die Forumsbeiträge aber inzwischen auch schon um die 2 Jahre her sind 
interessiert mich mal eine aktuelle Einschätzung von euch, besonders 
gute Erfahrungen würde ich gerne hören ;). Den wahren Durchbruch 
scheints da aber noch nicht gegeben zu haben, zumindest hatte ich 
schwierigkeiten ausführliche aktuelle Dokumentationen, Tutorials zu 
finden (SF.net, wxwidgets.org, wxCode, wxCommunity habe ich schon 
abgegrasst). Aber vermutlich liegt das Problem darin, dass die 
opensource-Gemeinde naturgemäß nicht unbedingt den Anfänger im Auge hat.

Auf mich macht wxwidgets einen sehr schicken eindruck, besonders da es 
einige spezialisiertere opensource wx-Komponenten gibt, die eigentlich 
alles nötige für mein Vorhaben bieten sollten, wie 
Messwert-Verarbeitungs und Visualisierungs komponenten (z.b. wxCTB).

Als Toolchain tendiere ich nach einschlägiger Forenlektüre zu VisualC++ 
(vielleicht auch nur Code::Blocks) als IDE, DialogBlocks (ein wirklich 
feines Programm!) mit wxwidgets als GUI Framework. wxwidgets scheint 
selbst keine direkten I/O sachen anzubieten, daher habe ich mir wxCTB 
angeschaut, was Serialport kann, denn ich will mich soweit wie möglich 
aus windows-APIs raushalten.

Ein paar konkrete Sachen machen mir noch kopfzerbrechen:

- Am ende soll eine unabhängige .Exe dabei rauskommen, also nichts mit 
managed code oder interpretiertem zeug. Wie funktionert es da mit den 
Libs, muss ich A) die sourcecodes der Libs einzeln kompilieren und am 
ende einlinken, oder B) erst includen und dann in einem mal builden?

- Das Programm soll auf gängingen WindowsOS laufen, mindestens XP und NT 
oder 2000, kann das neue Visual C++ 2008 Express für alle Wins 
compilieren?

- Da ich gerad dabei bin, hat jemand Erfahrungen mit VC Express 2008 
gemacht? :) Ich hätte sonst noch ein richtiges Visual Studio 2003, aber 
das dauert ja einen Tag allein zum installieren. Kommt man mit VC 
Express gut über die Runden?


Um einigen kopfschüttelnden Kommentaren vorzubeugen der Art "Kauf dir 
erstmal ein Buch, so wird das nie was", ich bin mir bewusst, dass es 
nicht der einfachste Weg ist in so ein riesiges Thema einzusteigen (wie 
ich in meinen nächtlichen Ausflügen herausgefunden habe), andererseits 
stehe ich etwas unter Zeitdruck, wenn ich das Ding nicht in einigen 
Tagen zusammenstricken kann, müsste ich es erstmal verschieben bis ich 
etwas mehr Zeit habe (Semesteranfang ;).
Allerdings habe ich auch gemerkt, das ich mir die zusammenklickerei und 
klauerei aus den Internet als Lernmethode viel besser liegt, als erstmal 
einen 1000-seitigen Schinken durchzuarbeiten. Ich hoffe ja, das ich aus 
den vielen Sources mir das meiste nur zusammenklauen muss, und die 
eigentliche Arbeit codeschnipsel kleben und make-tool konfigurieren sein 
wird :)

Ich wäre euch dankbar für alle Kommentare, tipps, und hinweise rund um 
die angesprochenden Themen, auch allgemeiner Art zur Grundsteinlegung 
eines (opensource-orientierten) Einstiegs in die Windows-Programmierung. 
In den letzten Tagen hat mich das Fieber schon gepackt, und würde auch 
gerne langfristig in das Thema eintauchen. Die einzigen "No-Gos" sind 
für mich zur Zeit nur Unix oder "Nicht-C", sowie Skriptsprachen (Wenn 
sich Py zum Libs bauen vermeiden lässt), irgendwie muss man sich ja 
beschränken ;).

Gruß,
Moritz

von Thomas B. (detritus)


Lesenswert?

Moritz E wrote:

> Jetzt ist die Frage, wie kriege ich das am schnellsten hin. Mit
> irgendwelchen Skriptsprachen will ich mich nicht noch belasten (Qt oder
> Py), und jede Zeile per Hand schreiben ist auch nicht drin. Daher habe
> ich mir in den letzten Tagen mal einige Nächte zu wxWidgets um die Ohren
> geschlagen (aufgrund von einigen Erwähnungen in diesem Forum).

Qt ist keine Skriptsprache, sondern was ähnliches wie wxwidgets.

> Da die Forumsbeiträge aber inzwischen auch schon um die 2 Jahre her sind
> interessiert mich mal eine aktuelle Einschätzung von euch, besonders
> gute Erfahrungen würde ich gerne hören ;). Den wahren Durchbruch
> scheints da aber noch nicht gegeben zu haben, zumindest hatte ich
> schwierigkeiten ausführliche aktuelle Dokumentationen, Tutorials zu
> finden (SF.net, wxwidgets.org, wxCode, wxCommunity habe ich schon
> abgegrasst). Aber vermutlich liegt das Problem darin, dass die
> opensource-Gemeinde naturgemäß nicht unbedingt den Anfänger im Auge hat.

Kann jetzt nur für Qt sprechen und da siehts ganz gut aus. Die Doku 
taugt was und es gibt sehr aktive communities.

> Auf mich macht wxwidgets einen sehr schicken eindruck, besonders da es
> einige spezialisiertere opensource wx-Komponenten gibt, die eigentlich
> alles nötige für mein Vorhaben bieten sollten, wie
> Messwert-Verarbeitungs und Visualisierungs komponenten (z.b. wxCTB).

qwt.

> Als Toolchain tendiere ich nach einschlägiger Forenlektüre zu VisualC++
> (vielleicht auch nur Code::Blocks) als IDE, DialogBlocks (ein wirklich
> feines Programm!) mit wxwidgets als GUI Framework. wxwidgets scheint
> selbst keine direkten I/O sachen anzubieten, daher habe ich mir wxCTB
> angeschaut, was Serialport kann, denn ich will mich soweit wie möglich
> aus windows-APIs raushalten.

qextserialport.

> - Da ich gerad dabei bin, hat jemand Erfahrungen mit VC Express 2008
> gemacht? :) Ich hätte sonst noch ein richtiges Visual Studio 2003, aber
> das dauert ja einen Tag allein zum installieren. Kommt man mit VC
> Express gut über die Runden?

Habs mal installiert, aber gleich wieder gelöscht. Braucht ewig viel 
Platz, ist langsam und mit der Bedienung bin ich einfach nicht warm 
geworden.
Dann hab ich QT installiert und als IDE Qdevelop eingesetzt. Alles 
kostenlos.
Ich hab mir auch mal Wxwidgets angeschaut, aber irgendwie keine 
brauchbare IDE dafür gefunden. wx-devcpp war SEHR instabil.


Und: 20kb in Assembler? Respekt...

von Thomas L. (tom)


Lesenswert?

Du könntest auch die .NET Variante verwenden (die mit dem klassischen 
C++ jedoch nur mehr die Syntax gemein hat). Dann könntest du ab der 
Version 2.0 des .NET Frameworks die SerialPort Klasse verwenden, die 
genau für solche Sachen gedacht ist :)
Alternativ könntest auch auf die einzig "richtige" .NET Sprache 
umsteigen: C# ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.