Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Seleccionar texto en widget Entry en tkinter.
#1
Hola gente, ¿ cómo están?, Francisco, necesito una manito,
como hacer que esta línea funcione.-

Código:
nombre.selection_range(indIni,int(indice))


Código:
from tkinter import ttk
import tkinter as tk
from functools import partial

def corregir(palabra):
    print("Corregir...: ",palabra)


def validar_entry(textoFinal, letra, indice, nombre):
    if letra == " ":
        indTop = int(indice)
        indIni = indTop-1
        while True:
            if textoFinal[indIni:indTop] == " " or indIni == 0:
                if indIni >= 1:
                    indIni += 1
                break
            indIni -= 1
            indTop -= 1

        palabra = textoFinal[indIni:int(indice)]
        nombre.selection_range(indIni,int(indice))       
        corregir(palabra)
   
    return True

def main():

    root = tk.Tk()
    root.geometry("300x200+700+300")
    root.title("Mi aplicación")

  
    entry = ttk.Entry(
        validate="key",
        validatecommand=(
            root.register(partial(validar_entry)), "%P", "%S", "%i", "%W"))
    entry.place(x=50, y=50, width=150)
    entry.focus()


Cita:Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Daniel Virgili\AppData\Local\Programs\Thonny\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:\Users\Daniel Virgili\Desktop\Practica\Corregir\módulo1.py", line 32, in validar_entry
    nombre.selection_range(indIni,int(indice))
AttributeError: 'str' object has no attribute 'selection_range'


Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Responder
#2
Ufffffffffffffffff, por Dios que manera de leer y practicar,
pero al fin salió, saludos a todos...


Código:
#-------------------------------------------------------------------------------
# Name:        módulo1
# Purpose:     Corrector ortográfico
#
# Author:      Daniel
#
# Created:     26/07/2022
# Copyright:   (c) Daniel 2022
# Licence:     <your licence>
#-------------------------------------------------------------------------------
from functools import partial
from tkinter import ttk
import tkinter as tk

def corregir(palabra):
    print("Corregir...: ",palabra)

def validar_entry(entry, textoFinal, letra, indice):
    if letra == " ":
        indTop = int(indice)
        indIni = indTop-1
        while True:
            if textoFinal[indIni:indTop] == " " or indIni == 0:
                if indIni >= 1:
                    indIni += 1
                break
            indIni -= 1
            indTop -= 1

        palabra = textoFinal[indIni:int(indice)]
        entry.select_range(indIni,int(indice))       
        corregir(palabra)
   
    return True


def main():
    root = tk.Tk()
    root.config(width=300, height=200)
    root.title("Mi aplicación")
    palabra = ["", 0]
    entry = ttk.Entry(
        validate="key")
    entry.focus()
    entry.place(x=50, y=50, width=150)
   
    vcmd = (root.register(partial(validar_entry, entry)), "%P", "%S", "%i")
    entry.config(validatecommand=vcmd)
   
    root.mainloop()

if __name__ == '__main__':
    main()

Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Responder
#3
Excelente Wink
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)