Weitere Widgets

Verschiedenes zu Qt
Antworten
archon
Beiträge: 117
Registriert: 22. August 2006 12:01

Weitere Widgets

Beitrag von archon »

Hallo Leute,

mal eine Frage: Ich bräuchte weitere (nicht standard) Widgets für Qt (z.B. ein Höhenmessanzeige, Variometer etc). Weis jemand ob überhaupt und wo ich sowas herbekommen könnte? Gibt es sowas überhaupt? In Active X kenn ich so eine library aber da wirds probleme geben mit der einbindung... vielleicht gibts ja sowas auch für qt?

Gruss + Danke
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

archon
Beiträge: 117
Registriert: 22. August 2006 12:01

Beitrag von archon »

Sehr gut danke!! Gibt es vielleicht noch mehr? Es dürfen auch komerzielle Anbieter sein..
GoaSkin
Beiträge: 103
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

Beitrag von GoaSkin »

Es gibt noch die Analog Widgets: http://www.qt-apps.org/content/show.php ... tent=87780

Ist allerdings GPL und darf nicht ohne weiteres in kommerzielle Applikationen einfließen. Ich gehe davon aus, daß du closed source entwickeln möchtest, weil du bereit bist, für zusätzliche Widgets Geld auszugeben.

Wenn dem so ist: Diese Widgets sind Abfallprodukt von verschiedenen Programmen, die eine polnische Firma entwickelt (README). Vielleicht kannst du dort anfragen, ob die dir das unter einer anderen Lizenz (gegen Bezahlung) lizensieren.
archon
Beiträge: 117
Registriert: 22. August 2006 12:01

Beitrag von archon »

Danke schonmal, ich suche möglichst Widgets zur Anwendung in der Luftfahrt (Also Höhenmesser, Variometer, Geschwindigkeit).
Zur Vollständigkeit sei hier erwähnt das es für .net auch noch Actipro Gauge gibt. Dies kann unter folgender Website bezogen werden: http://www.actiprosoftware.com/Products ... fault.aspx

Gruss
GoaSkin
Beiträge: 103
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

Beitrag von GoaSkin »

.NET kann man vollständig rückübersetzen (Decompilieren). Demnach könnte dieses Widgetset auch eine Anleitung dafür sein, wie man so etwas in QT erstellen kann. Widgets sind im Prinzip nichts anderes als eine Kombination von Bitmap- und Vektorgrafiken, die analog zu Wertveränderungen einzelne Eigenschaften verändern.
archon
Beiträge: 117
Registriert: 22. August 2006 12:01

Beitrag von archon »

Rückübersetzen wie macht man sowas ? Reassemblieren?
GoaSkin
Beiträge: 103
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

Beitrag von GoaSkin »

Nun... man kann eine .NET (oder Java) Binärdatei nicht mit einem Compilat eines plattformabhängigen Programmes vergleichen, das in einer Hochsprache geschrieben wurde. Ein C++-Programm, beispielsweise ein solches, das die QT-Bibliothek nutzt wird bei der Compilierung in einen Maschinencode umgewandelt, der vom Prozessor direkt interpretierbar ist. Jede Funktion basiert auf andere Funktionen, die wiederrum auf andere basieren etc., bis irgendwann auf kleine Einfachst-Funktionen zurückgegriffen wird, die teilweise direkt in Assembler geschrieben sind und teilweise elementare C++-Befehle nutzen, die stellvertretend für eine Instruktion in Maschinensprache gedeutet werden können. Aufgabe des Compilers ist es im Prinzip, Funktion für Funktion diese Maschinencodeschnipsel zusammenzupuzzlen. Der Linker baut diese als Einzelcompilate zuletzt Funktion für Funktion in eine ausführbare Binärdatei zusammen. Diese unterscheiden sich je nach Binärformat, beinhalten aber meistens eine Art Symboldatenbank, in der Funktions-Definitionen und deren Ort (Position im Programm, Bibliothek, Kernel) festgehalten sind gefolgt von einer Funktion nach der anderen. Ein solches Programm ist in diesem Sinne nur soweit rückübersetzbar, daß man zwar wieder einen C++-Code erhalten kann, jedoch nicht mehr den Originalcode. Es handelt sich wenn mehr um ein C++-Programm mit Befehlen, die dem Assembler-Programm in C++-Syntax entsprechen.

Anders ist es bei .NET und Java. Die Programme werden erst während der Ausführung in den interpretierbaren Maschinencode des Systemes, auf dem sie laufen übersetzt. Die Compiler dieser Sprachen erzeugen lediglich eine Binärdatei, die den Quelltext auf eine andere Weise repräsentieren - auf eine maschinenfreundlichere Art, sodaß diese während der Ausführung schneller in native Instruktionen übersetzt werden können, als eine ASCII-Textdatei. Diese sind dadurch so rückübersetzbar, daß man den Original-Code wiederherstellen kann.

Wenn man Mono nutzt, hast du das Tool monodis (Kommandozeile) installiert, das dir den Quellcode wieder liefert. Natürlich gibt es Möglichkeiten, jedes Compilat so zu bearbeiten, daß eine Rückübersetzung nicht mehr möglich ist (z.B. durch Verschlüsselung der Binärdaten, die anhand eines Keys (z.B. CD-Key) in den RAM hinein entschlüsselt werden, durch das Entfernen der statischen Einträge aus der Symbol-Tabelle bei Veränderung sämtlicher Sprung- und Aufrufanweisungen (absolute Positionen statt Funktionsregister-Abfrage). Da gibt es auch für .NET Möglichkeiten, den Binärcode zu verschleiern, aber so lange dazu nichts unternommen wurde, bestehen die geschilderten Möglichkeiten. Bei Freeware ist meistens nichts in dieser Richtung unternommen.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Ansonsten zumindest fuer windows .... wenn du dir das neuimplementieren sparen willst ...

schau ob du deine ActiveX (COM) version von den Controls kriegst. die kannst generell und auch unter QT mit deinem (windows)programm verheiraten.
Gehoert allerdings bissi Hintergrundwissen von COM zu. In der kommerziellen version von QT ist aber auch nen wrapper fuer ActiveX komponenten bei, der einem bissi arbeit abnimmt.

Ansonsten prinzipiell ... sollt man sich bei der wahl des Frameworkes auch von den gegebenheiten leiten lassen ....
Wenn fuer .Net so tolle widgets vorhanden sind, warum entwickelst du die oberfaleche ned auch in .Net ?
Deine Logic sollte eh in ner GUI framework unabhaengigen Form vorhanden sein, so dass man da schnell ne bib mit wenig anfroderungen drauss machen kann ! oder ???

Ciao ...
archon
Beiträge: 117
Registriert: 22. August 2006 12:01

Beitrag von archon »

Ja gut du hast schon recht wenn du sagst dass ich in .net entwicklelt könnte ... bloss müsste ich mich halt mit .net auskennen und das ist der punkt ;). Das ist mir bislang ein buch mit sieben siegeln...Ich hab immer geglaubt das es nichts vergleichbares zu Qt gibt..?
Antworten