Question

Je voudrais construire une interface graphique pour une application OCaml j'écris. Ma première idée était d'utiliser GTK + . Je voudrais que mon application à exécuter sur Mac, Linux, Windows avec un aspect naturel. Je sais que, alors que GTK + utilise X11 sur Mac par défaut (ce qui est affreux), il est gtk-osx application qui utilise le quartz et semble naturel et que je viens d'installer à l'aide macports.

J'ai trois questions:

(1) Est-il réellement possible d'utiliser gtk-osx-application +quartz+no_x11 avec OCaml? (Installation de mon GODI qui auparavant (avec GTK2 à base x11-en place) installé lablgtk2 sans problème, maintenant (avec gtk-osx-application +quartz+no_x11 et GTK2 à base de x11-précédente enlevé) se plaint de ne pas trouver /opt/local/lib/libgtk-x11-2.0.0.dylib, qui est x11 liée. Mais, en ce qui que je sache, il n'y a aucun moyen de choisir le quartz sur x11 lors de l'installation lablgtk2 par GODI.)

(2) Si je développe mon code sur mon Mac en utilisant le gtk-osx application, puis-je utiliser le code tout comme pour la compilation dans d'autres plates-formes qui utilisent différentes GTK ou peuvent apporter ces problèmes?

(3) Si elle n'apporte des problèmes, savez-vous de tout autre environnement pour le développement en OCaml GUIs qui peuvent potentiellement être bien en ce qui concerne les deux aspect et encore être facilement utilisé croix? (Je suis au courant de labltk mais je préfère quelque chose avec plus de fonctionnalités, par exemple, la possibilité d'utiliser des ordinateurs portables, a.k.a panneaux à onglets et pouvoir utiliser Glade pour la conception graphique rapide.)

Merci pour toute aide!

Cordialement, Surikator

Était-ce utile?

La solution

En supposant que vous pouvez obtenir lablgtk au travail, il est probablement votre meilleur pari à l'heure actuelle.

Pour le faire fonctionner: avez-vous essayé la reconstruction lablgtk après le retrait et l'installation de X11 GTK Quartz GTK? Un Lablgtk construit contre X11 GTK naturellement ne fonctionnera pas sur un quartz GTK, car il sera lié à la bibliothèque mal, mais une reconstruction pourrait être couronnée de succès. Il se pourrait aussi que Lablgtk ne fonctionnera pas correctement détecter que les appels d'intégration X11 ne fonctionnent pas et par conséquent ne parviennent pas à construire, mais je pense que ne pas être trop difficile de fixer comme Lablgtk pris en charge sous Windows.

Si vous développez code pour GTK sur Mac, il devrait fonctionner sur d'autres plates-formes très bien. Vous aurez envie de le tester, bien sûr, mais cela devrait fonctionner. Soyez prudent d'utiliser les installations de GTK pour faire des choses comme bouton de dialogue pour le travail correctement.

Je pense qu'il y avait à un moment donné un ensemble de liaisons OCaml à wxWidgets, mais ils ne semblent pas être largement utilisé et WX est pénible à travailler dans mon expérience. Il a également eu des travaux pour rendre les liaisons Qt, ce qui serait génial, mais je ne pense pas qu'il y ait des projets avec de bons progrès sur ce encore avant.

Si l'interface utilisateur est un peu petite partie de votre projet, vous pouvez regarder le découplage depuis le backend et l'écriture de l'interface utilisateur en C ++ avec Qt, ou l'écriture UIs de la plate-forme native, et ayant l'appel interface utilisateur sur le code OCaml dans une exécution intégré pour obtenir le travail réel. Mais cela est probablement plus de travail et ne peut pas vous donner beaucoup d'avantages, en fonction de votre application.

:. GTK est votre meilleure option dans le paysage actuel

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top