2010-09-04 19 views
7

Geliştirdiğim bir uygulama için bir cross-platform harita editörü tasarlıyorum ve dil/gui kütüphanesi seçimiyle ilgili olarak hangi yaklaşımın uygulanacağından emin değilim. Sadece bazı temel bilgiler için, editörün xml dosyalarını ayrıştırması ve çıkarması gerekiyor.Dil/GUI kütüphanesi, harita editörleri için hazırlanmıştır

Ben C++, Lua ve Perl ile en rahat değilim, ama aynı zamanda (uygulama kullanabilirsiniz) Python kullanmaya istekli olurdu. Verimlilik için bir betik dilinde yapmayı tercih ederim.

Herhangi tavsiyeler, teşekkür takdir edilmektedir.

Ben cekti da vb form doldurma desteği,

Not; gibi Mevcut harita editörlerini genişletmeyi denedim, ancak temel bir düzeyde ihtiyaç duyduğum işlevselliği sağlamadıkları için buna kesinlikle değmez, her şeyi tekrar yazmamı gerektiriyor.

cevap

2

bu iş için Python ve PyQt kullandığınız tavsiye edebilir: Burada

bir örnek Perl 5 komut kullanarak gtk2 olduğunu. QT (yakınlaştırma, yani tabakalı bir amacı yerleştirme testleri, etkinlik, koordinat dönüşümleri, vb da çarpışma algılama hit) sahne yönetimi için bir sınıf sunulmaktadır QGraphicsView adlandırılan tüm görüntüler için QGraphicsScene ve eşleşen bir kontrolü olarak ifade. Ayrıca, & sürükleme için destek sunar, böylece etkileşimli nesne yerleşimini etkinleştirir. Gerçekten bu sınıfları kullanarak bir harita uygulanması

sadece QGraphicItems (Dikdörtgenler, Çokgenler vs.) oluşturmak ve olay yerine onları ekliyor, Qt gerisi yok. Belgelerin, özellikle "The Graphics View Framework" belgesinin okunmasıyla birlikte nasıl uyulduğuna bir göz atabilirsiniz. Son zamanlarda müşteri için benzer bir şeyi uygulamak zorunda kaldım ve bu yaklaşımdan çok memnun kaldım. Lua tabanında

+0

Sadece tam olduğu. Ayrıca, Grafik Görünümü çerçevesiyle çalışır ve çok kullandım - Lqt kullanarak görsel bir dil + editörü oluşturdum, bu şekilde kullanılabilir. Ancak, Lqt'nin hala devam eden bir iş olduğuna dikkat edin. –

4

Benim tercihim her zaman Gtk2 ve Perl 5, ama bu kombinasyon Linux üzerinde iyi çalışır. Hangi işletim sistemi altında çalışacaksınız?

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

Bina, ben GUI için IUP öneriyoruz. Hafiftir, linux'a ve Windows'a taşınabilir ve Lua'ya iyi entegre edilmiştir. Gtk'yi sevenler için IUP, Gtk için bir sürücü içerir; böylece Gtk'nin bağlantı yapabileceği herhangi bir sisteme prensipte taşınabilir.

başka makul bir seçim, aynı zamanda Lua ile entegre kurdelelesini wxWidgets vardır.

IUP ve wxWidgets Hem Lua for Windows paket içinde yer almaktadır. Eğer [Lqt] (http://code.google.com/p/lqt/) kullanılarak, Lua ile de Qt kullanabilirsiniz -