IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Perl Discussion :

Entry sur plusieurs lignes


Sujet :

Interfaces Graphiques Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut Entry sur plusieurs lignes
    Bonjour,

    Je construis un système pour que des utilisateurs puissent modifier des entrées d'une base de données via une interface graphique...

    J'ai un champ qui contient du texte (un petit blabla d'info). Je souhaite afficher le texte qu'il contient dans un Entry de façon à ce qu'il soit modifiable. Dans mon interface j'ai défini les positions, largeurs et hauteurs de chaque widget et donc de celui ci aussi. J'avais prévu une case assez grande mais en mettant le truc en place je me rende conte que le Entry, même si tu lui mets une hauteur de 300px il te met tout sur une seule ligne... en défilant. J'ai vu que dans les options même de Entry on pouvait spécifier la largeur (-width) mais ça ne change rien...

    Avez vous une idée sur le comment résoudre ce problème?

    Merci d'avance!!

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bonjour,

    Il est impossible de créer un champ Entry sur plusieurs lignes :
    Citation Envoyé par Tk::Entry
    An entry is a widget that displays a one-line text string and allows that string to be edited using methods described below, which are typically bound to keystrokes and mouse actions.
    Par contre, rien ne vous empêche de créer un widget Text pour que l'utilisateur rentre ses données pour un champ donné sur plusieurs lignes.

    Avez vous un exemple de script afin qu'on puisse tester et voir ce que vous avez pour le moment ?

  3. #3
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    use strict;
    use Tk;
     
    # -- Définition des Variables Tk -- #
    my ($Fenetre_Principale, $Frame_Principale );
    my ($Frame_Gauche_Menu, $Frame_Top, $Frame_Main);
     
    # -- Création de la Fenêtre Principale -- #
    $Fenetre_Principale = MainWindow->new();
    $Fenetre_Principale->minsize( '800', '600' );
    $Fenetre_Principale->title("Interface Admin ISOTOP");
    $Frame_Principale = $Fenetre_Principale->Frame(-relief => 'groove', -borderwidth => 5);
    $Frame_Principale->pack(-anchor => 'center', -fill   => 'both', -expand => 'y');
     
    # -- Création Frame Main -- #
    $Frame_Main = $Frame_Principale -> Frame(-background => 'green', -foreground => 'white');
    $Frame_Main->place(-x =>150, -y => 150, -width => 640, -height =>440);
     
    # -- Gestion INFO -- #
    my $Label_INFO = $Frame_Main -> Label(-text => "INFO", -width => 10, -height => 1, -relief => 'groove', -borderwidth => 3);
    my $INFO = "exemple de ligne super longue qui est récupéré depuis une base de donnée et qui doit pouvoir être changée modifiée voir remplie pour une première fois etc....";
    my $Entry_INFO = $Frame_Main -> Entry(-text => $INFO,  -justify => 'center', -width => 50);
    $Label_INFO -> place(-x =>415, -y => 5);
    $Entry_INFO -> place(-x =>415, -y => 35, -width => 220, -height => 305);
     
    # -- Lanceur d'évènement -- #
    MainLoop;
    voilà, je vous ai mis le bout de code en question, j'avais hésité à le mettre car c'était long mais j'ai fait le ménage pour que ce soit plus claire...

    Je vais regarder du côté de Text aussi en effet, ça m'a l'air plus complexe mais plus définissable...

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    my $Text_INFO = $Frame_Main ->Scrolled('Text', 
      -wrap => 'none', 
      -scrollbars => 'osoe',
      -width => 100, 
      -height => 3,
    );
    $Text_INFO->insert('end', $INFO);
    $Text_INFO -> place(-x =>415, -y => 35);
    Voilà, tu peux modifier les options à souhait. Néanmoins, je ne vois pas l'utilité de l'utilisation du gestionnaire d'espace place. pack ou grid serait plus adapté.

  5. #5
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    Merci à toi je vais tester ça dès que possible... mais ça m'a l'air dêtre ce qu'il me faut en effet

    Pour le gestionnaire place et bien je le trouve beaucoup plus pratique que pack quand on a plein de widget fenêtre etc... et grid jamais vraiment su bien l'utiliser...

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    place est surtout utile pour le superposition des widgets.

    Mais sincèrement par expérience, je te conseille d'apprendre à bien utiliser pack et grid dès que tu souhaites afficher des éléments sous forme de grille bien aligné verticalement. place, c'est vraiment dans les cas extrêmes.

    Dans la FAQ Perl/Tk, j'y ai mis un script que tu peux récupérer et exécuter. Il permet de tester toutes les options de pack disponibles. C'est efficace pour apprendre à utiliser pack.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire une requete SQL sur plusieurs lignes
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 15/11/2004, 14h47
  2. Response.Write sur plusieurs lignes
    Par simoryl dans le forum ASP
    Réponses: 2
    Dernier message: 31/08/2004, 22h49
  3. Réponses: 2
    Dernier message: 10/05/2004, 07h55
  4. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo