7 Stimmen

Welche plattformübergreifende GUI-Bibliothek hat das beste Gefühl für jede Plattform?

Ich habe festgestellt, dass GTK ein einheitliches Gefühl über alle Plattformen hinweg hat, was für Linux-Liebhaber toll ist, aber nicht so toll für Leute, die ihr natives GUI-Gefühl bevorzugen.

Ich habe Qt noch nicht richtig verwendet, weshalb ich nicht in der Lage bin zu sagen, dass dies die beste Wahl ist, um die meisten nativen Gefühl für jede Plattform zu bieten - so könnte jemand bitte bestätigen, ob Qt ist, was ich suche?

7voto

Desintegr Punkte 6741

Ich denke, Qt ist eine gute Wahl, um einen nativen Look zu haben.

Unter Windows XP werden Widgets mit dem Luna-Stil (Windows XP-Standardstil) gerendert. Unter Vista/7 werden sie mit dem Aero-Thema gerendert. Unter MacOS werden sie mit dem Aqua-Thema gerendert.

Unter Linux ist das anders. Qt verwendet sein eigenes Thema (Plastique-Stil) oder Ihr KDE-Thema (z. B. Oxygen-Thema). Wenn Sie GNOME oder XFCE (GTK) bevorzugen, kann Qt auch Ihr GTK-Theme verwenden.

alt text

Eine Qt-Anwendung kann perfekt in Windows XP/Vista/7, MacOS, KDE, GNOME und XFCE Desktops integriert werden.

6voto

small_duck Punkte 2998

Wxwidgets verwendet die zugrunde liegende Plattform, um Widgets zu zeichnen (GTK unter Linux, MFC unter Windows...), so dass es nicht nur nativ aussieht, sondern es auch ist!

Bearbeiten - Für Mac verwendet wxWidgets Carbon, und ist derzeit den Übergang zu Cocoa für 3.0.

Edit2 - Ich habe QT selbst nicht benutzt, aber die Leute in meinem Umfeld, die es benutzt haben, mochten es sehr. Auf der QT-Anwendung, die ich unter Windows verwendet habe, habe ich weniger nativ gefühlt, mit etwas schlechteren Integration mit dem Desktop, aber es könnte nur eine Reflexion dieser bestimmten Entwickler Fähigkeiten sein.

Obwohl wxWidgets seine Macken hat (etwas schlechte Integration in die STL, MFC-ähnliche Ereignisse, manchmal schwer verständliche Box-Optionen, begrenztes wxGrid...), wird an ihnen gearbeitet, und das System wird immer besser (die neuen wxAUI-Docking-Widgets sind großartig).

Schließlich war wxWidgets bemerkenswert gut darin, mir aus dem Weg zu gehen, wenn ich es nicht brauchte, so dass ich es genau für das verwenden konnte, was ich wollte, und nicht mehr. Ich war zum Beispiel in der Lage, meinen eigenen Socket-Code extrem einfach in das Ereignissystem zu integrieren.

Mein Gefühl ist, dass wxWidgets und QT ziemlich vergleichbar sind, und dass die Entscheidung für das eine oder das andere hauptsächlich eine Frage der persönlichen Eignung ist.

2voto

Richard Harrison Punkte 18867

Von Qt und WxWindows würde ich mich bei einem Neuanfang für WxWindows entscheiden - einfach weil es die nativen Steuerelemente verwendet, die eine bessere Unterstützung auf zukünftigen Plattformen bieten.

Ich bin zu dieser Entscheidung durch den folgenden unwissenschaftlichen Prozess gekommen:

  • Er hat die Liste der veröffentlichten Bewerbungen geprüft und diejenigen ausgewählt, die am ehesten nach etwas Eigenem aussahen.
  • VLC Media Player vs. FileZilla - manchmal kommt mir VLC seltsam vor, während ich nicht einmal wusste, dass FileZilla in WxWindows geschrieben wurde.
  • 5 von den angebliche Top 32 Anwendungen verwenden WxWindows.

Für mich ist das oben Gesagte einfach genug, um mit WxWindows als erste Wahl zu beginnen und zu sehen, wo ich nach einer Weile lande.

Es ist erwähnenswert, dass ich viel mit XAML gearbeitet habe und deshalb würde ich auf jeden Fall XUL stattdessen verwenden, da es viel schöner ist, das Layout aus dem Code herauszuholen.

Als Fußnote habe ich vor Jahren eine Anwendung mit dem glücklicherweise längst verstorbenen und schrecklichen ZincApplicationFramework entwickelt, das ähnlich wie Qt seine eigenen Steuerelemente übereinander legt. Es war schrecklich und ich verbrachte Ewigkeiten damit, an den Interna herumzupfuschen, um es unter Windows zum Laufen zu bringen. Das macht mich voreingenommen oder zumindest skeptisch gegenüber allem, was den gleichen Ansatz verfolgt, denn kurz nachdem dieses Projekt beendet war, habe ich Allegris C++/Views verwendet, um eine andere Anwendung zu erstellen, und das war viel besser, weil es eine sehr dünne Schicht über den nativen Steuerelementen war - was bedeutete, dass es einfach war, Dinge zu tun und viel effizienter.

Ich habe also eine Vorliebe für dünne Schichten und native Kontrollen....

1voto

Lukáš Lalinský Punkte 39243

Ja, ich glaube, das ist es. Qt versucht, dem nativen Look&Feel zu folgen. Nicht nur, wie die Widgets aussehen, sondern auch Dinge wie die Reihenfolge der Schaltflächen usw. Natürlich wird es schwierig sein, eine Anwendung zu erstellen, die wirklich allen nativen UI-Konventionen folgt (das Mac UI-Design unterscheidet sich zum Beispiel sehr von Windows), aber Qt wird Ihnen dabei sehr helfen.

1voto

paxdiablo Punkte 809679

Ich habe keine Erfahrung mit Qt, aber SWT hat ein natives Look-and-Feel für die wichtigsten Plattformen aufgrund der Tatsache, dass es native Bibliotheken liefert, um die Aufgabe zu erledigen. Wir haben es verwendet, um Eclipse-Plug-ins für unsere verschiedenen Projekte zu machen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X