Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Autres langages > Perl > Interfaces Graphiques

Interfaces Graphiques Forum d'entraide pour les interfaces graphiques en Perl (TK, GTK, Tk-Zinc, 2D et 3D avec OpenGPL, ....).

Réponse
 
Outils de la discussion
Vieux 22/07/2008, 17h21   #1 (permalink)
Responsable Perl
 
Avatar de djibril
 
Date d'inscription: avril 2004
Âge: 29
Messages: 3 000
Par défaut Snippets Pour Tk

Bonjour,

Je vous propose de lister des procédures pratiques qu'on puisse utiliser dans nos applications TK.

Afin que tout soit propre, lisible pour tous et facilement utilisable, voici quelques recommandations.
  1. La procédure ne doit pas prendre plus de trois arguments
  2. Chaque procédure doit être correctement indentée et commentée
  3. Chaque procédure doit avoir une entête commentée donnant le but de la procédure, les arguments et les modules dont elle dépend et la valeur de retour
  4. En début de procédure, Veuillez toujours tester le nombre d'arguments et donner un exemple d'utilisation

Alors, je me lance :

- Procédure pour centrer tous vos widgets
Code perl :
#================================================
# But : Centrer un widget automatiquement
# Arguments : Largeur, Hauteur, widget
# Retour : $geometry (Get the geometry position to center a widget)
#================================================
sub CentrerWidget {
  unless ( scalar(@_) == 3 ) {
    my $Usage = <<'FIN_USAGE';
      Usage: my $Geometry = CentrerWidget($WidthWidget, $HeigthWidget, $widget);
      ....$widget->geometry( $Geometry );
FIN_USAGE
    die($Usage);
  }
  my ( $WidthWidget, $HeigthWidget, $MainWidget ) = @_;
 
  # Height and width of the screen
  my $WidthScreen  = $MainWidget->screenwidth();
  my $HeightScreen = $MainWidget->screenheight();
 
  my $NewWidth  = int( ( $WidthScreen - $WidthWidget ) / 2 );
  my $NewHeight = int( ( $HeightScreen - $HeigthWidget ) / 2 );
 
  return $WidthWidget . "x" . $HeigthWidget . "+$NewWidth+$NewHeight";
}

- Afficher les messages d'erreur Perl dans une fenêtre Tk
Code :
#================================================
# But : Afficher ces messages d'erreur dans une fenêtre TK
# Arguments : Aucun (Tk en envoie 3 par défaut)
# Retour : Rien
#===============================================
sub Tk::Error {
  my ( $Widget, $Error, @Locations ) = @_;
 
  # Error widget
  my $MwError = MainWindow->new( -background => "white",);
  $MwError->title( "Message d'erreur" );
  $MwError->minsize( 300, 300 );
  $MwError->focusForce();
 
  my $MessageError = $MwError->Scrolled( 
    "Text", 
    -scrollbars => "oe",
    -background => "white", 
  );
  $MessageError->delete( "1.0", "end" );
  $MessageError->insert( "end", $Error );
 
  $MessageError->pack( -fill => "both", -expand => 1, );
  $MwError->bell();
 
  return;
}
__________________
Pensez toujours à la faq, les cours Perl et la fonction recherchez!!!!!!!!
Lisez les régles du forum.
Je ferai de mon mieux pour vous aider, telle est ma devise :-)
Je ne résouds aucun problème par MP, merci de poster vos questions dans le forum dédié

Dernière modification par djibril ; 04/12/2008 à 18h56
djibril est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 21h22   #2 (permalink)
Responsable Perl
 
Avatar de djibril
 
Date d'inscription: avril 2004
Âge: 29
Messages: 3 000
Par défaut

Je constate que personne ne fait du Tk
__________________
Pensez toujours à la faq, les cours Perl et la fonction recherchez!!!!!!!!
Lisez les régles du forum.
Je ferai de mon mieux pour vous aider, telle est ma devise :-)
Je ne résouds aucun problème par MP, merci de poster vos questions dans le forum dédié
djibril est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 09h26   #3 (permalink)
Membre Expert
 
Date d'inscription: février 2003
Messages: 1 070
Par défaut

Citation:
Envoyé par djibril Voir le message
Je constate que personne ne fait du Tk
Quand je peux m'en passer, je m'en passe très bien, de Tk

Par chance, pour mes récents scripts Perl au boulot, personne ne m'a demandé de truc graphique, ce qui m'a permi de me concentrer exclusivement sur le boulot en lui-même, et non son maquillage
Arioch est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 09h36   #4 (permalink)
Responsable Perl
 
Avatar de djibril
 
Date d'inscription: avril 2004
Âge: 29
Messages: 3 000
Par défaut

C'est clair que si on a pas besoin de faire une interface graphique, pas besoin de se prendre la tête pour, et ce quelque soit le langage, mais on fait quand même pas mal de chose avec, il suffit de s'y mettre.
dommage qu'il n'y ait pas plus de retour
__________________
Pensez toujours à la faq, les cours Perl et la fonction recherchez!!!!!!!!
Lisez les régles du forum.
Je ferai de mon mieux pour vous aider, telle est ma devise :-)
Je ne résouds aucun problème par MP, merci de poster vos questions dans le forum dédié
djibril est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/12/2008, 21h46   #5 (permalink)
Modérateur
 
Avatar de kuzco
 
Date d'inscription: novembre 2005
Localisation: Normandie
Âge: 33
Messages: 1 560
Par défaut

Citation:
Envoyé par djibril Voir le message
Je constate que personne ne fait du Tk
Tu fais bien d'en parler, je m'y mets de plus en plus ces derniers temps, notamment pour publier scripts classiques habillés avec une interface Tk, que je publierai sous Citrix.

Je posterai prochainement quelques procédures...
kuzco est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PERLF.A.Q PERLTUTORIELS PERLLIVRES PERLSOURCES PERL

Réponse

Précédent   Forum des développeurs > Autres langages > Perl > Interfaces Graphiques



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide