Je concevons une éditeur de carte Cross-Platform B> pour une application que j'ai développée, et je ne suis pas sûr de l'approche à prendre en ce qui concerne le choix de la bibliothèque linguistique / GUI. Juste pour certaines informations de base, l'éditeur doit analyser et sortir des fichiers XML. P>
Je suis le plus à l'aise avec C ++, Lua et Perl, mais je serais également prêt à utiliser Python (pourrait utiliser la pratique). Je préférerais le faire dans une langue de script pour la productivité. P>
Toutes les recommandations sont appréciées, merci. P>
J'aimerais aussi un soutien pour remplir des formulaires, etc. p>
P.s. J'ai testé l'extension des éditeurs de carte existants, mais cela ne vaut pas vraiment la peine car ils ne fournissent pas la fonctionnalité dont j'ai besoin sur un niveau fondamental, vous devez simplement réécrire tout ce qui est de toute façon. P>
3 Réponses :
Ma préférence est toujours GTK2 code>
et Perl 5, mais cette combinaison fonctionne mieux sur Linux. Dans quel système d'exploitation allez-vous courir sous?
Voici un exemple de script Perl 5 à l'aide de GTK2: P>
#!/usr/bin/perl use strict; use warnings; use Gtk2; Gtk2->init; my $window = Gtk2::Window->new; my $vbox = Gtk2::VBox->new; my $label = Gtk2::Label->new("click the button"); my $button = Gtk2::Button->new("click me"); my $i; $window->signal_connect(destroy => sub { Gtk2->main_quit }); $button->signal_connect(clicked => sub { $label->set_text(++$i) }); $window->add($vbox); $vbox->add($label); $vbox->add($button); $window->show_all; Gtk2->main;
Je peux recommander d'utiliser Python et Pyqt pour le travail. QT propose une classe pour la gestion des scènes (c'est-à-dire un placement d'objet en couches, un zoom, des tests de frappe, des événements, des transformations de coordonnées, etc., même la détection de collision) appelée qgraphicssscène et un contrôle correspondant pour l'afficher tout, appelé QGraphicsView. Il offre également une prise en charge du glisser-déposer, ce qui permet ainsi un placement d'objet interactif. P>
Mise en œuvre d'une carte à l'aide de ces classes ne crée vraiment que des qgraphices (rectangles, polygones, etc.) et les ajouter à la scène, QT fait le reste. Vous pouvez jeter un coup d'œil à la façon dont il convient à la lecture de la documentation, en particulier du document " Affichage graphiques cadre ". Je devais mettre en œuvre quelque chose de similaire pour un client récemment et j'ai été très satisfait de cette approche. P>
Juste pour être complet - vous pouvez utiliser QT aussi avec Lua, en utilisant LQT . Cela fonctionne également avec le cadre de la vue graphique et je l'ai utilisé beaucoup - j'ai créé un éditeur de langue visuelle + utilisant LQT. Il est donc utilisable de cette façon. Notez cependant que LQT est toujours en cours de travail.
bâtiment sur la base de Lua, je recommanderais iUP pour l'interface graphique . Il est léger, portable à Linux et à Windows, et bien intégré à Lua. Pour ceux qui aiment GTK, IUP comprend un pilote pour GTK afin qu'il puisse être porté en principe à n'importe quel système où GTK peut porter le port. P>
Un autre choix plausible est wxwidgets , qui a également une emballage l'intégrant avec Lua. P>
IUP et WXWidgets sont inclus dans le Lua pour Windows Bundle. P >