Eine Frage von einem komplett ahnungslosen: Wie weit geht die Platformunabhängigkeit in der Praxis? Kann ich ein mit QT erstelltes Programm ohne irgendwelche Änderungen (natürlich muss neukompilert werden) auf Windows und Linux nutzen? Also inklusive Druck- und Dateidialoge ,Ansprechen von Hardware usw.? Schöne Grüße Mark
> Kann ich ein mit QT erstelltes Programm ohne irgendwelche Änderungen (natürlich muss neukompilert werden) auf Windows und > Linux nutzen?
Wenn du neben Qt keine eigenen, plattformspezifischen Dinge verwendest, ja. Windows, OSX, Linux/Unix.
> Also inklusive Druck- und Dateidialoge
Druckdialog: Ja, Dateidialog: ja.
> ,Ansprechen von Hardware usw.?
Was heisst "Hardware ansprechen" und was "usw."? Desktoptypische Hardware wie Drucker und Netzwerk werden abstrahiert, andere Dinge muss man ggf. selbst implementieren bzw. die Plattformunabhaengigkeit sicherstellen.
Ich bin hier in einer firma wo wir genau das machen. C++/Qt fuer eine cross platform GUI app (die an bestimmten stellen sehr performancekritisch ist; daher C++). Tuts _sehr_ gut. Grosses projekt. C.a. 300k LOC.
Solange du nix machst was plattformspezifisch ist natuerlich.
Hardware ansprechen? Welche? Wozu? Also in der regel geht das natuerlich nicht. Das geht normalerweise nur in treibern (ausser bei DOS da konnte man im "User"space ja alles). Und bei treibern macht ein cross platform application framework wie Qt keinen sinn.
Bevor ichs vergesse. Es gibt auch einen GUI builder. Der QtDesigner. Ist recht brauchbar.
Das schoene daran ist, dass der maschinengenerierte code der von dem ding kommt noch lesbar und wartbar ist. Das liegt zu einem grossen teil an Qt selbst. Die ganze sache ist einfach gut durchdacht.
Was ich persoenlich sehr schoen finde, ist, dass es seit einiger zeit moeglich ist, die Qt container so zu benutzen wie die STL container. Da muss man dann nicht so viel umdenken. Aber "Java" style iteratoren gibts auch.
Kanns echt nur jedem empfehlen. Obwohl ich zugeben muss dass ich die anderen toolkits/frameworks wie FOX, Fltk oder wxWdigets nur sehr oberflaechlich kenne.
Wie weit geht die Platformunabhängigkeit in der Praxis?
Kann ich ein mit QT erstelltes Programm ohne irgendwelche Änderungen (natürlich muss neukompilert werden) auf Windows und Linux nutzen?
Also inklusive Druck- und Dateidialoge ,Ansprechen von Hardware usw.?
Schöne Grüße
Mark
lg
Erik
> Linux nutzen?
Wenn du neben Qt keine eigenen, plattformspezifischen Dinge verwendest, ja. Windows, OSX, Linux/Unix.
> Also inklusive Druck- und Dateidialoge
Druckdialog: Ja, Dateidialog: ja.
> ,Ansprechen von Hardware usw.?
Was heisst "Hardware ansprechen" und was "usw."? Desktoptypische Hardware wie Drucker und Netzwerk werden abstrahiert, andere Dinge muss man ggf. selbst implementieren bzw. die Plattformunabhaengigkeit sicherstellen.
fuer eine cross platform GUI app (die an bestimmten stellen
sehr performancekritisch ist; daher C++). Tuts _sehr_ gut. Grosses
projekt. C.a. 300k LOC.
Solange du nix machst was plattformspezifisch ist natuerlich.
Hardware ansprechen? Welche? Wozu? Also in der regel
geht das natuerlich nicht. Das geht normalerweise nur
in treibern (ausser bei DOS da konnte man im "User"space
ja alles). Und bei treibern macht ein cross platform
application framework wie Qt keinen sinn.
Der Omega13.
> application framework wie Qt keinen sinn.
sonst haetten wir auch bald "QtOS - your platform-independent operation system"
Es gibt auch einen GUI builder. Der QtDesigner. Ist recht brauchbar.
Das schoene daran ist, dass der maschinengenerierte code der von
dem ding kommt noch lesbar und wartbar ist. Das liegt zu einem
grossen teil an Qt selbst. Die ganze sache ist einfach gut durchdacht.
Was ich persoenlich sehr schoen finde, ist, dass es seit einiger
zeit moeglich ist, die Qt container so zu benutzen wie die STL
container. Da muss man dann nicht so viel umdenken. Aber "Java"
style iteratoren gibts auch.
Kanns echt nur jedem empfehlen. Obwohl ich zugeben muss dass
ich die anderen toolkits/frameworks wie FOX, Fltk oder wxWdigets
nur sehr oberflaechlich kenne.
Der Omega13.
lg
Erik
[1] http://www.trolltech.com/products/qt/whatsnew/whatsnew-qt43
Gruß, Kay