2010-02-21 10 views
6

Me he dado cuenta de que GTK tiene una sensación uniforme en todas las plataformas, lo que es genial para los amantes de Linux, pero no tanto para las personas que prefieren su interfaz gráfica de usuario nativa.¿Qué biblioteca de GUI multiplataforma tiene la sensación más nativa para cada plataforma?

No he usado Qt adecuadamente aún, por lo que no puedo decir que esta es la mejor opción para proporcionar la sensación más nativa de cada plataforma, por lo que alguien podría confirmar si Qt es lo que soy ¿después?

Respuesta

1

Sí, creo que sí. Los intentos de Qt tuvieron que seguir el aspecto nativo & sentir. No solo cómo se ven los widgets, sino también elementos como el orden de los botones, etc. Por supuesto, crear una aplicación que realmente siga todas las convenciones de UI nativas será difícil (el diseño de la UI de Mac es muy diferente de Windows, por ejemplo), pero Qt te ayudará mucho con eso.

1

tengo cero experiencia con Qt, pero SWT tiene look-and-feel nativo para las principales plataformas en virtud del hecho de que envíe bibliotecas nativas para hacer el trabajo. Lo hemos usado para hacer complementos Eclipse para nuestros diversos proyectos.

7

Creo que Qt es una gran opción para tener un aspecto nativo.

En Windows XP, los widgets se representarán con el estilo Luna (estilo predeterminado de Windows XP). En Vista/7, se mostrarán con el tema Aero. En MacOS, se representarán con el tema Aqua.

En Linux, es diferente. Qt usará su propio tema (estilo Plastique) o usará su tema KDE (tema Oxígeno, por ejemplo). Si prefiere GNOME o XFCE (GTK), Qt también puede usar su tema GTK.

alt text

aplicación A Qt se puede integrar perfectamente en Windows XP/Vista/7, MacOS, KDE, GNOME y Xfce.

+0

Va a tomar algún trabajo conseguir OS X a la derecha con Qt. Dicho eso, se puede hacer. –

+0

¿Crees que Qt es mejor que Wxwidgets, o ambos tienen sus propias fortalezas? Tengo la sensación de que Qt es posiblemente "más fácil" de usar. –

+1

Lo siento, nunca he usado WxWidgets. Puede obtener información acerca de Wx vs Qt: http://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits#Qt – Desintegr

6

wxWidgets utiliza la plataforma subyacente para dibujar widgets (GTK bajo Linux, MFC en Windows ...), lo que no sólo se ve nativa, pero lo es!

Editar - Para Mac, wxWidgets utiliza carbono, y actualmente está en transición hacia Cacao para la versión 3.0.

Edit2 - No hice uso de QT a mí mismo, pero la gente a mi alrededor que lo utilizó gustó mucho. En la aplicación QT que he usado en Windows, me he sentido menos nativa, con una integración algo peor con el escritorio, pero podría ser solo una reflexión de estas habilidades particulares de los desarrolladores.

Aunque wxWidgets tiene sus peculiaridades (una integración un tanto pobre en STL, eventos similares a MFC, opciones de cuadro a veces difíciles de manejar, wxGrid limitado ...), se están trabajando y el sistema está mejorando cada vez más. (los nuevos wxAUI docking widgets son impresionantes).

Por último, wxWidgets ha sido remarquably bueno en quedarse fuera de mi camino cuando yo no lo necesitaba, lo que permite que la utilice precisamente para lo que quería y nada más. Por ejemplo, pude conectar muy fácilmente mi propio código de socket al sistema de eventos.

Mi sensación es que wxWidgets y QT son más o menos comparables, e ir a uno u otro serán principalmente sobre el ajuste personnal.

+0

¿Qué hay de Mac OS? –

+0

Le pregunté a Desintegr sobre Qt vs Wxwidgets; Del mismo modo, me gustaría que me ayudes a elegir la respuesta correcta. Gracias. –

1

WxWidgets y Qt ambos se ven bien en OS X, pero no funcionan bien a menos que haga un poco de trabajo adicional, porque la integración adecuada del sistema operativo en OS X también requiere que obtenga los enganches básicos de AppleScript correctos; OS X los utiliza para muchas acciones comunes de la GUI del sistema, por lo que los necesita para obtener (por ejemplo) arrastrar y soltar en el icono de su puerto de trabajo.

2

Fuera de Qt y WxWindows desde una borrón y cuenta de ir a WxWindows, simplemente porque utiliza los controles nativos que le da mejor soporte en plataformas futuras.

yo llegamos a esta decisión por el siguiente proceso científico:

  • revisado la lista de aplicaciones publicadas y selecciona los que más se parecía a algo nativa
  • jugador
  • VLC Media vs. FileZilla - a veces me VLC se siente raro, pero no me había dado cuenta de que FileZilla estaba escrito en WxWindows.
  • 5 de las aplicaciones alleged top 32 usan WxWindows.

Para mí, lo anterior es bastante fácil de usar con WxWindows como primera opción y ver dónde termino después de un tiempo.

Merece la pena mencionar que he estado haciendo mucho XAML y, por lo tanto, definitivamente estaría buscando usar XUL; ya que es mucho mejor sacar el diseño del código.

Como nota al pie de página hace unos años, desarrollé una aplicación que usa el ZincApplicationFramework, afortunadamente largamente muerto y espantoso, cuyas capas tiene sus propios controles ontop de forma muy similar a Qt. Fue espantoso y pasé años jugando con las partes internas para que funcionase justo debajo de Windows. Esto me hace prejuicioso, o al menos escéptico, de cualquier cosa que tenga el mismo enfoque, porque poco después de que este proyecto terminara utilicé Allegris C++/Views para crear otra aplicación, y esto fue mucho mejor porque era una capa muy delgada sobre los controles nativos - lo que significaba que era fácil hacer las cosas y mucho más eficiente.

Así que puede tener una preferencia hacia las capas delgadas y controles nativos ....

1

personalmente prefiero Qt sobre WxWidgets por faaarrrr. La API de wxWidgets se siente como otro MFC ... demasiado torpe para mi gusto. Qt, por otro lado, está mucho más cerca de cómo deberían ser las aplicaciones de escritura en C++ moderno, sin mencionar su excelente QtDesigner (está bien, wxWidgets tiene wxFormBuilder, pero la última vez que lo comprobé no era tan bueno como QtDesigner))

Cuestiones relacionadas