2010-10-01 10 views
2

Je suis un programmeur UNIX expérimenté. Maintenant, je veux développer une application Windows simple; la partie de programmation serait très facile avec presque n'importe quel outil (ce pourrait être C, Perl, ou quelque chose d'autre). Cependant, je me demande quel outil utiliser pour avoir une interface graphique simple autour d'elle? J'ai lu un peu à propos de Perl/TK, mais j'ai compris que c'est trop vieux, et Visual Studio exigence semble un peu trop tuer.Que dois-je utiliser pour créer une interface graphique Windows?

+0

Tk.pm a besoin de Visual Studio uniquement lorsque vous utilisez ActivePerl et une seule fois. Pour Windows, vous devez utiliser Perl Strawberry, il inclut le compilateur, vous n'avez donc pas besoin de l'installer. –

Répondre

8

WxPerl est actuellement le toolkit GUI largement utilisé dans la communauté Perl.

7

Je vous suggère d'avoir un autre regard sur Perl/Tk. Tk est vieux mais rien d'autre n'a réussi à faire ce qu'il fait de mieux: être une bibliothèque d'IU simple, facile à utiliser mais puissante (notez ses points forts dans cet ordre, notez aussi que je n'ai pas mentionné la vitesse).

Les programmeurs Unix adorent (simple!) Et haïssent (moche!) Tk. Mais Tk n'est vraiment moche sur Unixen que parce qu'il est par défaut un thème Motif (Tk moderne est/devrait être remplacé par TTk qui est themeable). Sous Windows, Tk utilise des widgets natifs, de sorte que l'apparence n'est pas vraiment un problème comme sur Unix. Comme pour les autres bibliothèques suggérées, QT se sent étranger sous Windows (du point de vue de votre utilisateur) reflétant son héritage Linux, mais WxWidgets ressemble à la maison en reflétant son héritage principalement Windows.

+0

La réputation "Tk est moche" devrait être mis à l'arrêt maintenant, depuis 8.5. – Gaius

+0

@Gaius @slebetman J'ai ouvert une question pour demander comment faire exactement cela. http://stackoverflow.com/q/3838368 – daxim

3

Si vous souhaitez une bonne portabilité entre les systèmes d'exploitation, un style natif (ou autre) et une installation sans compilation C/C++, vous pouvez consulter le module que j'ai écrit, XUL::Gui sur CPAN. Il utilise Firefox comme moteur de rendu. Voici un exemple rapide:

use XUL::Gui; 

display Window title=>'my window', 
    H2('events!'), 
    Button(
     label => 'click me', 
     oncommand => sub { 
      my ($self, $event) = @_; 

      $self->label = 'ouch!'; 
     } 
    ); 

Il existe des exemples plus détaillés sur le CPAN. Faites moi savoir si vous avez des questions.

Questions connexes