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 :

TK Text Problème de coordonnées


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 48
    Points
    48
    Par défaut TK Text Problème de coordonnées
    Bonjour,

    Je travaille avec le module TK sur un text multiligne.
    Je souhaiterai pouvoir afficher des mots avec la méthode insert à telle ligne et telle colonne.
    Mon code est le suivant :

    my $terminal=new MainWindow();
    my $texte=$terminal->Text();
    $texte->pack();

    $texte->insert('1.0',"Truc");
    $texte->insert('10.10',"Muche");
    $texte->insert('2.15',"Bidule");
    $texte->insert('5.7',"Chouette");
    Mes mots s'affichent à la suite les uns des autres sur une seule ligne.

    Y-a-t-il un moyen pour "initialiser" la fenêtre, poru définir réellement le nombre de lignes et de colonnes (autre que par la définition de la taille du champs text)?

    Celà fait des heures que je suis dessus, j'ai testé mille et unes méthodes, aucune ne fonctionne.

    Je vous remercie,
    Lucie

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    On ne peut insérer qu'à une position qui existe réellement, tu devrais mettre des espaces à l'origine et les remplacer si tu voulais vraiment faire ça.

    Néanmoins j'aimerais bien savoir ce que tu veux vraiment faire avec ce code.

    --
    Jedaï

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 48
    Points
    48
    Par défaut
    En fait, je traduis du VT100 et je l'affiche dans ma fenetre TK.
    Le VT100 est basé sur des mouvements perpétuels de curseurs.
    Je dois donc obligatoirement pouvoir écrire certains mot à certaines coordonnées dans mon champs text.

    J'ai essayé de mettre des espaces partout dans ma fenêtre pour créer réellement mes colonnes. Le soucis, c que la fonction insert écrit le texte entre les espaces. Résultat, ma mise en page est une vrai catastrophe.

    J'ai tenté de supprimer les espaces de trop, idem, fonction pas efficace et mise en page mauvaise.

    Je ne sais plus quoi faire.

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu n'as pas l'air d'avoir compris ce que je te suggérais. La première chose à faire c'est d'utiliser une police monospace, ensuite tu crées ton widget texte de la taille du terminal que tu veux émuler, puis tu remplis ce widget avec par exemple 100 lignes de 80 espaces (ça dépend de la taille du terminal à émuler), et ensuite tu écris une fonction Replace qui fait un delete et un insert de façon à obtenir une mise en page plausible pour un terminal (fait un "wrap" manuel en rajoutant une ligne à la fin et en décalant la zone de texte visible, remplace les espaces par des caractères, vérifie la taille de l'insertion).
    Par ailleurs je te déconseille formellement de laisser l'utilisateur modifier ton widget texte directement : il n'est là que pour l'affichage, donne lui une Entry où il tapera ses commandes ou autres entrées éventuelles (avec un Label devant montrant le contenu de la dernière ligne de ton terminal, le prompt par exemple).
    A ces conditions il est possible que tu arrives à quelque chose. Ca va te demander un peu d'effort par contre.

    --
    Jedaï

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu peux regarder les sources de Tk::Shell, apparemment c'est une tentative de faire un peu ce que tu demandes, en plus simple peut-être.

    --
    Jedaï

  6. #6
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 48
    Points
    48
    Par défaut
    Merci, c'est exactement ce que j'ai fait et ça fonctionne.
    Je voulais une méthode un peu moins "bricolage" mais c'est la seule que j'ai trouvé et qui fonctionne :o)

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

Discussions similaires

  1. Problème de coordonnées dans des balises
    Par Zebulon777 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 06/02/2007, 07h26
  2. [TP] Lecture d'un fichier texte contenant des coordonnées
    Par ichiwa dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 04/02/2007, 15h07
  3. Réponses: 2
    Dernier message: 16/10/2005, 19h19
  4. Ecrire du texte avec des coordonnées 3D
    Par julian_ross dans le forum DirectX
    Réponses: 3
    Dernier message: 21/06/2005, 15h05
  5. problème de coordonnées
    Par Yennick dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 11/03/2005, 17h32

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