2015-09-25 1 views
1

Problème:Python Tkinter Text-Widget défilement pour ligne spécifique

  • Chargement d'un fichier de code du disque dur dans un texte-widget créé par tkinter (peut être plus grande que les lignes xxx)
  • Trouver une position dans ce texte-widget (ligne/colonne)
  • Faire défiler le texte-widget à cette position exacte

jusqu'à présent, je ne pouvais pas trouver un moyen pour accéder à une ligne spécifique dans un Tkinter texte-widget. Puisque Tkinter utilise toujours la notation ligne/colonne (par exemple "1.0") pour identifier les positions dans le widget texte, n'y a-t-il pas un moyen de faire défiler directement jusqu'à une position donnée?

Jusqu'à présent, j'essayé de placer le yview directement:

textWidget.yview("scroll", scrollamount, "units") 

Mais cela me semble très impur d'utiliser les « unités » ici ...

Vous cherchez une solution propre. Merci.

Répondre

2
>>> help(Tkinter.Text.see) 
Help on method see in module Tkinter: 

see(self, index) unbound Tkinter.Text method 
    Scroll such that the character at INDEX is visible. 

Pour que la ligne 3 est visible do:

textWidget.see('3.0')