2010-09-04 6 views
7

Je suis en train de concevoir un éditeur de cartes pour une application que j'ai développée, et je ne sais pas quelle approche adopter en ce qui concerne le choix de la bibliothèque langage/gui. Juste pour quelques informations de base, l'éditeur doit analyser et produire des fichiers xml. Je suis 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 un langage de script pour la productivité.Bibliothèque de langue/GUI pour faire l'éditeur de carte

Toutes les recommandations sont appréciées, merci.

Je voudrais aussi un soutien pour remplir des formulaires, etc.

post-scriptum J'ai testé l'extension des éditeurs de cartes existants, mais cela n'en vaut pas la peine car ils ne fournissent pas la fonctionnalité dont j'ai besoin à un niveau fondamental, ce qui m'oblige à simplement réécrire le tout de toute façon.

Répondre

2

Je recommande d'utiliser Python et PyQt pour le travail. Qt propose une classe pour la gestion de scène (placement d'objets en couches, zoom, tests de collision, événements, transformations de coordonnées, etc., même détection de collision) appelée QGraphicsScene et une commande correspondante pour l'afficher, appelée QGraphicsView. Il offre également un support pour glisser & drop, permettant ainsi le placement interactif d'objets.

L'implémentation d'une carte utilisant ces classes ne fait que créer des QGraphicItems (Rectangles, Polygons etc.) et les ajouter à la scène, Qt fait le reste. Vous pouvez jeter un coup d'œil à la façon dont tout se déroule en lisant la documentation, en particulier le document "The Graphics View Framework". J'ai dû mettre en place quelque chose de similaire pour un client récemment et j'ai été très satisfait de cette approche.

+0

Juste pour être complet - vous pouvez utiliser Qt aussi avec Lua, en utilisant [Lqt] (http://code.google.com/p/lqt/). Il fonctionne aussi avec le framework Graphics View, et je l'ai beaucoup utilisé - j'ai créé un éditeur de langage visuel + en utilisant Lqt, donc il est utilisable de cette façon. Cependant, notez que Lqt est encore en cours de développement. –

4

Ma préférence est toujours Gtk2 et Perl 5, mais cette combinaison fonctionne mieux sous Linux. Quel OS allez-vous courir sous?

Voici un exemple de script Perl 5 en utilisant Gtk2:

#!/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; 
2

Construit sur la base de Lua, je recommanderais IUP pour l'interface graphique. Il est léger, portable pour Linux et Windows, et bien intégré avec Lua. Pour ceux qui aiment Gtk, IUP inclut un pilote pour Gtk, de sorte qu'il peut en principe être porté sur n'importe quel système où Gtk peut porter.

Un autre choix plausible est wxWidgets, qui a également un emballage l'intégrant avec Lua.

Les deux IUP et wxWidgets sont inclus dans le lot Lua for Windows.

Questions connexes