Eine eigene GUI



  • Hallo auch zu Dir!

    Du muss Dir noch im klaren werden für welches Betriebssystem du schreiben möchtest und ob Deine Programme eventuell kommerziell genutzt werden sollen (denn einige GUIs verlangen die Veröffentlichung des Quelltextes).

    Für die WinAPI empfehle ich Dir ein gutes Buch dazu über Windows Programmierung zu rate zu ziehen. Gerade über die WinAPI gibt es viele gute Bücher (z.B. Windows Programmierung - Charles Petzold). Hier hatte ich eher das Problem das sie oft zu sehr in die Tiefe geben und richtig dicke Welzer sind.

    Neben QT gibt es auch FLTK (Fast Light Tool Kit) und WxWidgets etc. Hier muss Du jedoch wie oben erwähnt aufpassen mit der Lizenz. Der Vorteil ist, dass sie nahezu Betriebssystemunabhängig sind. Bücher gibt es hier leider nur schwer zu finden, dafür gibt es jede Menge Tuturials im Internet.

    Ich persönlich verwende immer noch FLTK. Es liefert klein Binarys, darf auch kommerziell verwendet werden und ist recht einfach zu handhaben. Viele Dinge muss man sich hier jedoch selbst zusammenschreiben, die es bei QT zum Beispiel schon gibt.

    Gruß
    Trooper



  • Hallo,
    danke für die Antworten. Ihr redet von der WinAPI als low-lever. Ist das negativ gemeint? Falls ja, dann habe ich keine Lust, mich dort einzuarbeiten.

    Ich möchte Programme erstellen, die ich auch mit Borland machen könnte - eben nur mit eigener GUI Entwicklung.

    Kann man eigentlich ein Programm schreiben, das sowohl auf Winodws als auch auf Linux mit Fenstern läuft? Sonst möchte ich für Windows schreiben.

    Ich habe mal gegoogelt und Qt kann man auch kommerziell verwenden, oder? Warum kommt Qt eigentlich von Nokia?

    Vielen Dank
    lg, freakC++



  • Man kann mittels Qt erstellte Applikationen kommerziell verwenden.
    Qt kommt jetzt von Nokia weil Nokia TrollTech gekauft hat.



  • low-level == du musst dich um viel Mist selber kümmern. Diese Aussage ist nicht negativ gemeint. Ob dir das gefällt musst du selber herausfinden.
    wxWidgets/Qt/gtk+/fltk/... gibt es für viele Plattformen. Einmal programmiert heißt (mit ganz wenigen speziellen Ausnahmen, die dich nicht interessieren werden) auf allen unterstützten Plattformen kompilier- und verwendbar.
    Kommerzielle Programme (also non-GPL) konntest du schon immer mit Qt schreiben, dann wurden halt Lizenzgebühren fällig. Nun steht Qt unter der LGPL, damit kannst du auch ohne Lizenzzahlungen closed-source-Programme veröffentlichen.

    Qt kommt ursprünglich von Trolltech. Nokia hat sich Qt vor ein paar Jahren gekauft, da es so wohl billiger ist als jährliche Lizenzgebühren für alle Entwicklungsrechner zu kaufen 😛



  • Klar kann man mittels QT erstelle Programme kommerziell verwenden, nur muss man sich dann im klaren sein, dass man die Sourcecodes veröffentlichen muss!
    Es sei denn man entscheidet sich für die "Qt Commercial Developer License", dann muss man das nicht, bezahlt jedoch Geld dafür.

    Es gibt drei Lizenzformen von QT:

    • Qt Commercial Developer License (alle Sourcecodes können geheim bleiben)
    • LGPL (nur Änderungen an QT müssen veröffentlicht werden)
    • GPL (alle Sourcecodes müssen veröffentlicht werden)

    Verwendest du eine Plattform unabhängige GUI, so ist das Programm (nach erneutem Übersetzten) auf beiden Plattformen lauffähig. Die Voraussetzung ist jedoch, dass du keine Betriebssystem spezifischen Funktionen verwendest.



  • trooper schrieb:

    Klar kann man mittels QT erstelle Programme kommerziell verwenden, nur muss man sich dann im klaren sein, dass man die Sourcecodes veröffentlichen muss!
    Es sei denn man entscheidet sich für die "Qt Commercial Developer License", dann muss man das nicht, bezahlt jedoch Geld dafür.

    Das ist falsch, Qt ist unter der LGPL erhältlich.
    Es geht auch nicht um kommerziell verwenden (z.B. ein mit Gimp gemaltes Bild verkaufen) sondern die Software kommerziell vertreiben.



  • trooper schrieb:

    Klar kann man mittels QT erstelle Programme kommerziell verwenden, nur muss man sich dann im klaren sein, dass man die Sourcecodes veröffentlichen muss!
    Es sei denn man entscheidet sich für die "Qt Commercial Developer License", dann muss man das nicht, bezahlt jedoch Geld dafür.

    Das war früher so. Mittlerweile ist Qt aber unter der LGPL lizensiert.

    Edit: verdammt, eine Sekunde zu spät 😉



  • trooper schrieb:

    Verwendest du eine Plattform unabhängige GUI,....

    Und das ist QT?

    Ich möchte aber keinen Quelltext veröffentlichen. Mmmh...prüft das denn irgendjemand nach oder wird an die Moral apelliert? Sonst kauf ich mir die Lizenz, wenn die nicht wieder irre teuer ist.

    edit: Danke ipsec, das wollte ich hören :D. Hat aber l'abra d'or auch schon gemeint.

    edit edit: Und trooper auch...

    lg, freakC++


  • Mod

    freakC++ schrieb:

    Ich möchte aber keinen Quelltext veröffentlichen. Mmmh...prüft das denn irgendjemand nach oder wird an die Moral apelliert? Sonst kauf ich mir die Lizenz, wenn die nicht wieder irre teuer ist.

    Wenn du anfängst das Programm (erfolgreich) zu verkaufen, wird das jemand prüfen. Ja.

    Wenn du das Programm nur so veröffentlichst, ohne den Sourcecode rauszugeben, hält man dich bloß für einen komischen, unsozialen Kauz der seine Viren verstecken will und keiner nutzt dein Programm.



  • trooper schrieb:

    Klar kann man mittels QT erstelle Programme kommerziell verwenden, nur muss man sich dann im klaren sein, dass man die Sourcecodes veröffentlichen muss!

    Das würde dem Sinn der LGPL wiedersprechen.



  • Also ich glaub kaum dass es sich für dich lohnt jetzt schon die kommerzielle Version zu kaufen, entwickle lieber erst mal ein Programm dass überhaupt jemand kaufen würd, kannst dir dann ja immer noch die kommerzielle Version kaufen;-).

    http://de.wikipedia.org/wiki/LGPL
    Linkst du also dynamisch, kann dein Programm unter einer beliebigen Lizenz stehen, linkst du statisch, dann steht deine Anwendung automatisch auch unter der LGPL, was für einen "richtigen Verkauf" nicht so vorteilhaft ist.

    Änderungen an Qt selbst musst du veröffentlichen.

    Alle Freiheiten haste dann halt mit der kommerziellen Version.

    Falls du dich für die WIN-API entscheiden solltest, kann ich die das Buch Windows-Programmierung von Charles Petzold empfehlen.
    Wie hier schon mehrmals gesagt wurde, kann man dir nicht einfach was empfehlen.
    Müsstest du auch gesehen haben,wenn du die Suche benutzt hättest und dir andere Threads zu diesem Thema angeschaut hättest.
    Du musst einfach schauen was dir am Besten gefällt, und das geht am einfachsten in dem du ausprobierst;-)

    Lg freeG



  • fr33g schrieb:

    Linkst du also dynamisch, kann dein Programm unter einer beliebigen Lizenz stehen, linkst du statisch, dann steht deine Anwendung automatisch auch unter der LGPL,...

    Die LGPL-Lizenz von QT (übrigens um kleine Klarstellungen seitens Nokias ergänzt, wegen Templates) erlaubt nur ein dynamisches Linken (+ Verwendung der Header, die für den Betrieb nötig sind [Templates]).

    Ich seh darin auch keinen Nachteil, solange man nicht in den QT-Code eingreifen will (und da macht die Linzenz durchaus einen Unterschied.



  • @l'abra d'or und @ipsec und @asc

    Ach Leute!. Lest doch bitte den Post ganz bis zum Ende. Da steht doch was es für Lizenzen für QT so gibt.
    Ich hatte nicht geschrieben welche Sourcen man veröffentlichen muss (die des eigenen Programms oder die der veränderten GUI). Die LGPL gib es freilich auch, jedoch muss man da auch die Sourcecodes veröffentlichen, wenn man nicht dynamisch linkt oder die GUI selbst anfasst und bei statischem Linken unter die LGPL oder GPL stellen.

    Also bei mir kam es schon öfter vor, dass ich irgendwelche Funktionen der GUI (Treebrowser, Dateibrowser etc.) an meine Vorstellungen anpassen musste. Dann bleibt einem irgendwann nichts anderes übrig als die GUI zu erweitern und schon muss man die Sourcecodes (der erweiterten GUI) mit veröffentlichen.

    Ne, ne die LGPL ist für kleine Projekte ganz brauchbar aber eben auch nicht immer das Gelbe vom Ei. Und der Zwang zum dynamischen Linken ist auch nicht so ohne.

    Vollkommen frei ist man nur wenn man die kommerzielle Lizenz verwendet und die kostet nun mal Geld.



  • trooper schrieb:

    @l'abra d'or und @ipsec und @asc

    Ach Leute!. Lest doch bitte den Post ganz bis zum Ende. Da steht doch was es für Lizenzen für QT so gibt.

    Ich hab den Post bis zum Ende gelesen. Die Lizenzformen hast du aber erst ca. eine Minute nach meiner Antwort reineditiert.



  • Es stand trotzdem vorher da das Sourcecodes veröffentlicht werden müssen.
    Welche das sind ist erstmal völlig belanglos dabei, denn bei der LGPL müssen auch Sourcecodes veröffentlicht werden, nur eben die der veränderten GUI und nicht die eigenen.

    Aber ist gut wenn man vorschnell Texte interpretiert...

    PS: Deine Antwort war zudem noch nicht da.



  • trooper schrieb:

    Ach Leute!. Lest doch bitte den Post ganz bis zum Ende. Da steht doch was es für Lizenzen für QT so gibt.

    Fakt ist jedenfalls das man QT ohne Probleme im Kommerziellen Umfeld, auch mit der LGPL-Lizenz verwenden kann, ohne den eigenen Code zu veröffentlichen.

    Dennoch betonst du ständig das Veröffentlichen von eigenen Code unter der LGPL, diese explizite Betonung ist aber mehr als irreführend, selbst wenn du diese Aussage auf das statische Linken beschränkst - zumal du auch an mehreren Stellen wegen der Veröffentlichung einen Aufstand betreibst.



  • @trooper
    Willst du jetzt wirklich diskuttieren, wer wann was geschrieben hat? Aber bitte...

    trooper schrieb:

    Es stand trotzdem vorher da das Sourcecodes veröffentlicht werden müssen.
    Welche das sind ist erstmal völlig belanglos dabei, denn bei der LGPL müssen auch Sourcecodes veröffentlicht werden, nur eben die der veränderten GUI und nicht die eigenen.

    trooper schrieb:

    Klar kann man mittels QT erstelle Programme kommerziell verwenden, nur muss man sich dann im klaren sein, dass man die Sourcecodes veröffentlichen muss!

    Es ist natürlich intuitiv sofort ersichtlich, dass du nicht die Sourcecodes des eigenen Programms meinst, sondern die von Qt. Btw: hat irgendjemand was gesagt, dass man die Qt-Sourcen verändern will?
    Deine Aussage erweckte vielmehr den Eindruck, dass jedes kommerzielle Programm auf Basis von Qt open-source sein muss. Und da da früher tatsächlich so war, nahm ich an, dass du einfach noch nicht auf dem aktuellen Stand bist. Um Verwirrungen des TE zu vermeiden, habe ich die Aussage versucht richtig zu stellen.

    trooper schrieb:

    PS: Deine Antwort war zudem noch nicht da.

    trooper schrieb:

    Zuletzt bearbeitet von trooper am 10:53:53 04.08.2010, insgesamt 1-mal bearbeitet

    ipsec schrieb:

    10:52:44 04.08.2010 Titel:



  • asc schrieb:

    Die LGPL-Lizenz von QT (übrigens um kleine Klarstellungen seitens Nokias ergänzt, wegen Templates) erlaubt nur ein dynamisches Linken (+ Verwendung der Header, die für den Betrieb nötig sind [Templates]).

    Ist so ne Sache. Eigentlich steht im Lizenztext nicht drinnen, dass dynamisch linken zwingend ist. Es muss nur dem Anwender möglich sein, die mitgelieferte Version von Qt gegen eine andere auszutauschen. Eine weitere Möglichkeit, um das zu erreichen, ist statisches Linken + Mitliefern der objectfiles. Mit denen kann man dann die Applikation mit einer anderen Lib wieder zusammenlinken.

    trooper schrieb:

    Welche das sind ist erstmal völlig belanglos dabei, denn bei der LGPL müssen auch Sourcecodes veröffentlicht werden, nur eben die der veränderten GUI und nicht die eigenen.

    Was sind "die der veränderten GUI"?

    trooper schrieb:

    Also bei mir kam es schon öfter vor, dass ich irgendwelche Funktionen der GUI (Treebrowser, Dateibrowser etc.) an meine Vorstellungen anpassen musste. Dann bleibt einem irgendwann nichts anderes übrig als die GUI zu erweitern und schon muss man die Sourcecodes (der erweiterten GUI) mit veröffentlichen.

    Oi, ich musste das noch nie! Was sind das für Änderungen, die nur mit Eingriff in die Qt-Sourcen zu bewerkstelligen sind? Schau dir mal an, was z.B. alles an genialen kde-Programmen rumkreucht, die mussten noch nie (!!!!) die qt-libs patchen. Ich bin mal gespannt auf deine Änderungswünsche. Hast du schon Featurerequests bei Nokia bageliefert?



  • Werkst du nicht wie lächerlich das ist die Zeiten hinzuschreiben (Ganze 51 Sekunden später - oh mein Gott 😉 )

    Das ist kein Live-Chat hier sondern ein Forum.

    Als ich meinen Text schrieb war dein Text definitiv noch nicht im meinem Computer nachgeladen bzw. irgendwo bei mir sichtbar.

    Aber zur Entschuldigung. Mein Computer ist wohl zu langsam oder das Internet.

    Antworte doch lieber auf die gestellten Fragen als auf den gegebenen Antworten rumzuhacken, denn das Hilft dem Fragesteller und vergrellt nicht die Antwortenden.

    Viele Grüße
    Trooper



  • Ich bin nun etwas verwirrt, ich habe das mit Qt bis jetzt so verstanden dass ich Closed Source entwickeln kann und auch die Software kommerziell vertreiben darf ohne auch nur einen Cent Lizenzgebühr an Nokia/Trolltech zahlen zu müssen, wenn ich dynamisch linke. Ist das so richtig?

    G hibbes


Anmelden zum Antworten