GUI Programmierung ohne Toolkit
-
fluxy schrieb:
oh hoppla.... also so ne Linux API oder so gibt es nicht?!
Linux hat keine grafische Oberfläche. Für den XServer brauchst du Xlib. Oder du programmierst einen eigenen XServer. Aber ich glaube nicht, dass du das willst.
-
du darfst nicht mit deinen Windows Vorstellungen an Linux ran gehen. Natürlich hat Linux auch eine API, sonst könnte man unter Linux ja nicht programmieren
Aber Linux enthält im Kernel kein GUI System im Gegensatz zu Windows. GUI Systeme sind unter Unix/Linux eben externe Geschichten, deswegen kann man ohne Probleme auch ein Server ohne GUI betreiben.
GUI Systeme gibt es verschiedene, das X11 System ist das populärste. Wenn du das System nun direkt programmieren willst, musst du einfach Befehle an den X11 Server senden oder die Xlib nehmen, die das gleiche macht (die Xlib ist eigentlich nur ein ThinLayer über die RPC-Aufrufe an den X11 Server).
Aber als nächstes wird dir auffallen, dass X11 kein Widget System integriert hat. Also musst du dir unter X11 die Widgets selber malen, aus dem Grund benutzt man idr. auch eine Widget Library wie GTK+ oder Qt.
@Unix-Tom
ncurses ist ja auch nicht LowLevel, sondern sogar sehr HighLevel, da es ja auf den Termcaps aufsetzt
-
okay,
also das Problem ist mir jetzt schon deutlicher. Explizit will ich nur eine Linuxkonforme Implementation für Linuxfenster erstellen. Ich kann natürlich auf GTK+ oder QT oder was weiss ich zurückgreifen, jedoch habe ich das Problem, dass der Code unter der GPL stehen würde oder nicht?!
wie würde man denn mit diesem X11 ein Widget erzeugen?!
-
, jedoch habe ich das Problem, dass der Code unter der GPL stehen würde oder nicht?!
Wieso Problem?
Probiers mal hier:
http://tronche.com/gui/x/
-
CarstenJ schrieb:
fluxy schrieb:
jedoch habe ich das Problem, dass der Code unter der GPL stehen würde oder nicht?!
Wieso Problem?
Erzähl ihm doch keinen Blödsinn; GTK steht unter der LGPL, d.h. er darf GTK-Programme unter jede Lizenz stellen, die er möchte.
edit: Tags...
-
fluxy schrieb:
okay,
also das Problem ist mir jetzt schon deutlicher. Explizit will ich nur eine Linuxkonforme Implementation für Linuxfenster erstellen. Ich kann natürlich auf GTK+ oder QT oder was weiss ich zurückgreifen, jedoch habe ich das Problem, dass der Code unter der GPL stehen würde oder nicht?!
wie würde man denn mit diesem X11 ein Widget erzeugen?!
zu den X11-Widgets: du machst ein kleines Fenster, schreibst etwas Text hinein, klatscht dieses kleine Fenster auf ein grosses und machst, dass irgendetwas passiert, sobald die Maus gedrueckt wird, wenn der Cursor sich gerade ueber den kleinen Fenster befindet... fertig ist der Button-Widget
wegen der Lizenzen:
Qt-Programme muessen unter GPL stehen, ausser du kaufst dir von Trolltech (die Entwickler von Qt) eine spezielle Lizenz, damit du deine Qt-based - Programme auch verkaufen kannst ===> TEUER
GTK: ich weiss nicht genau, wie es mit GTK aussieht, aber gtkmm steht unter LGPL. Zur Unterscheidung: GTK ist eine C-Library, gtkmm ist der C++ - Wrapper dafuer.
Wenn du eine Library verwendest, die unter LGPL steht, dann musst du dein Programm nicht selbst unter (L)GPL stellen. (Das ist der Unterschied zwischen LGPL und GPL). Es gibt zwar ein, zwei Auflagen, die auch ein Programm, das LGPL-Libraries verwendet, erfuellen muss, aber das ist FirlefanzAlternativ kannst du auch wxWidgest (www.wxwidgets) verwenden. Das steht unter einer leicht veraenderten LGPL, sodass du dich eigentlich um absolut gar nichts kuemmern musst (Nicht mal um den Firlefanz
)
-
cool ich denke das ist genau das was ich brauche....
steht das denn auch unter der gpl oder so?!
-
nman schrieb:
Erzähl ihm doch keinen Blödsinn;
Inwiefern Blödsinn, bitte?
-
fluxy schrieb:
Hallo.
Ich habe mal eine ernstgemeinte Frage. Ich weiss, dass es sehr schwierig ist, aber ich will wissen, ob die Möglichkeit besteht und wenn ja wie. Teillösungen sind auch sehr willkommen.
Kann ich unter Linux ein Fenster programmieren, ohne ein Toolkit wie GTK, SDL, QT oder sonstwas zu benutzten? Also quasi high level, so wie die Win32 Api in Windows...
Gruß Sebastian
Ja, aber es ist schwer. Kauf die Bücher Xliu Programming Manual vom Adrian Nye
-
Naja eigentlich war ich hiermit recht zufrieden:
Wie ist denn da die Rechtslage? Oh man um in Linux zu programmieren, braucht man ja echt ein Jurastudium
-
fluxy schrieb:
Wie ist denn da die Rechtslage? Oh man um in Linux zu programmieren, braucht man ja echt ein Jurastudium
nicht mehr und nicht weniger, wie unter anderen Betriebssystemen. Lies dir einfach die Lizenz der Library durch.
-
CarstenJ schrieb:
nman schrieb:
Erzähl ihm doch keinen Blödsinn;
Inwiefern Blödsinn, bitte?
Dein Post hat suggeriert dass beide Toolkits unter der GPL stehen.
-
Dein Post hat suggeriert dass beide Toolkits unter der GPL stehen.
Da hab ich ehrlich gesagt gar nicht drüber nachgedacht. Ich dachte, es wäre für ihn ein Problem, weil er es generell weder unter die GPL, noch die LGPL stellen lassen wollte. Naja, egal....
-
CarstenJ schrieb:
Da hab ich ehrlich gesagt gar nicht drüber nachgedacht. Ich dachte, es wäre für ihn ein Problem, weil er es generell weder unter die GPL, noch die LGPL stellen lassen wollte. Naja, egal....
Ah, jetzt verstehe ich - Du hast die LGPL selbst missverstanden!
Wenn ich in einem Projekt LGPL-Libraries verwende dann heißt das nicht dass dieses Projekt dann auch unter der LGPL stehen muss, es darf sogar Closed Source sein, darum stehen viele OpenSource-Libraries unter der LGPL statt unter der GPL.
-
Hmmm also ich blicke da nicht mehr durch!
Was ist jetzt die LGPL und was die GPL und was darf ich und was darf ich nicht?
Sagt mir bitte nur wie ich möglichst einfach Software entwickeln darf, die ich nicht verkaufen will!
-
Lies Dir entweder alle (englischen Original-) Lizenzen der Libs mit einem Anwalt Deiner Wahl durch (für absolute Sicherheit), oder lies Dir die (umgangssprachlichen) Erläuterungen von Blue-Tiger eine Seite zurück nochmal durch. EDIT: Er (Blue-Tiger) wird aber - im Gegensatz zu Deinem Anwalt - sicher keine Gewähr dafür übernehmen wenn Du von SCO oder so verklagt wirst...
-
hmmmm.
und wenn ich keine dieser Libaries verwenden will, muss ich mir meine fenster selber zusammenpixeln oder wie?
Gibt es keine andere Möglichkeit?
-
Nimm doch einfach eine Library. Sich über die Lizenzen zu informieren ist ja wirklich nicht schwer, wenn das dein Problem ist
(btw. es gibt auch unter Windows Lizenzen und auch die Standard Library unterliegt einer Lizenz
)
-
Wo kann man sich dieses X Window System denn downloaden? Seh da nur das manual...
-
Wenn du ein WM manager wie KDE, genome, Fluxbox oder sontiges benutzt, dann hast du schond en X server mit den libs.
Sonst geh auf http://freedesktop.org/Software/xorg oder http://www.xfree.org/
Wenn du absolut auf XLibs verzichten willst (tschuldingung: was eine so sau dumme Idee ist), dann musst du alles selber progammieren, d.h. einen X Server selber programmieren, der mit X11 kompatibel ist, weil 99% aller *nices Benutzer, die einen X server haben, X11 benutzen und keinen anderen Server für nur ein einziges Programm.
Falls dir die Lizenz von XFree 4.4 nicht gefällt, kannst du früherer Lizenen nehmen, die unter anderem unter GPL stehen. Xorg ist GPL (soweit ich weiß).