Heute habe ich versucht, die Owner drawn menu item Unterstützung in Cocoa und MacOSX 10.5
zu implementierenUnd was ich gefunden habe, war ziemlich beängstigend, wenn ich an QT dachte, das ich für andere Projekte verwenden wollte.
Wenn ich es richtig sehe, gibt es keine Zukunft für QT auf MacOSX, weil der gesamte Appearance Manager mit der Ausnahme einiger trivialer Funktionen in 10.5 komplett veraltet ist (ich kann nicht einmal mehr eine öffentliche URL finden) und sogar die " Entwickler "Farbliste und die Farbkonstanten" in NSColor sind als nicht stabil gekennzeichnet und werden nicht verwendet.
Mit dieser Richtlinie hätte ein Toolkit wie QT keine Option mehr, die MacOSX-Unterstützung fallenzulassen, was für Apple auf mehr als eine Art Sinn macht (denken Sie daran, dass Nokia ein Konkurrent ist). Und Apple war es auch egal, Carbon und Java fallen zu lassen.
Also vermisse ich etwas. Gibt es irgendeine Art von Cocoa Appearance-Manager oder irgendeine Technik, bei der das QT-Team einen angemessenen Fallback verwenden könnte? Ich habe Angst, dass in 10.7 oder 10.8 das Aussehen sehr unterschiedlich sein könnte.
Und bitte alle Leute, die diese Frage als subjektiv schließen möchten, bedenke bitte, dass ich nach einer technischen Lösung für dieses Problem frage. Es ist keine Diskussion über gut oder schlecht, aber wenn es eine Möglichkeit gibt, diese Einschränkung zu umgehen.
Es ist eine ernsthafte geschäftliche Entscheidung für mich, die leicht Zehntausende von Dollars kosten kann, wenn sie falsch gemacht wird und vertrauliches QT sich als Misserfolg herausstellt.
BEARBEITEN: Dies ist ein Link, der mir sagt, dass selbst die Systemfarben nicht mehr unterstützt werden Zugriff auf Systemfarben . Und es ist korrekt, dass eine Änderung des Themas zu Graphit nicht zu einer Farblisten-Benachrichtigung führt.
Ich habe es aufgegeben, QT nativ aussehen zu lassen. Es wird nie funktionieren, weil es zu viele subtile Verhaltensweisen gibt, die kein plattformübergreifendes Toolkit jemals gut genug nachahmen kann, um Benutzer zu täuschen. Wenn eine native Anwendung das Ziel ist, wird es viel einfacher sein, ein bisschen mehr Zeit damit zu verbringen, native Schnittstellen für die Plattformen zu erstellen, die Sie unterstützen möchten.
Die Sache, die mich davon abhielt, QT zu dumpen, war die Unkenntnis von Xcode und Objective-C. Sie kennen das wahrscheinlich schon, aber Sie können jede Objective-C-Datei (.m) in Xcode umbenennen, um sie als Objective-C ++ (.mm) zu kompilieren. Auf diese Weise können Sie den gewünschten C ++ - Code genau dort verknüpfen, wo Sie ihn in Ihrem Projekt benötigen.
Tags und Links qt macos cocoa gui-toolkit