Esta es mi primera publicación en el desbordamiento de la pila. He estado acechando este sitio por información durante años, y siempre es útil, así que pensé que publicaría mi primera pregunta.Resaltado y selección de texto con las maldiciones de Python
He estado buscando algunos ejemplos similares, pero parece que no encuentro nada.
En última instancia, estoy tratando de escribir una interfaz de usuario de texto simple para buscar falsos positivos y falsos negativos en un programa de extracción de texto. El módulo de falsos positivos es una selección simple de sí/no, y la visualización de texto en color y el uso de getch() es bastante fácil. Sin embargo, la parte negativa falsa es cada vez más difícil.
Así que esto es lo que quiero hacer:
- mostrar una cadena en la pantalla (se olvide de desplazamiento por ahora .... uf) Sólo será una cadena sin saltos de línea.
- El usuario ve el texto y presiona 'h' para ingresar al modo resaltado.
- , el usuario puede controlar el cursor para desplazarlo sobre una parte del texto (todavía visible), y seleccione 'v' para comenzar destacando (I tratando de hacer esto lo más cerca vi como pueda)
- El el usuario utiliza luego las teclas de control (flechas, hjkl) para mover el cursor desde un punto inicial al punto final, resaltando el texto en el camino. Esta parte resaltada debe ser una palabra que es un falso negativo
- El usuario presiona alguna tecla ('y' probablemente), y el texto seleccionado es de color, o permanece resaltado, y el texto resaltado se guarda en alguna variable que yo ' Lo manejaré más tarde.
- El usuario sale del modo de resaltado y continúa.
¿Alguna idea de empezar incluso? Estoy intentando cosas simples como mantener el texto en la pantalla y mover el cursor, pero fue en vano.
Conozco el módulo curses.textpad.TextBox(), pero realiza la edición como inserción y eliminación, lo que no quiero hacer. Tal vez hay una forma de desactivarlo.
Tengo otras preguntas, pero lo mantendré por ahora.
Gracias!
Neal
Editar: Para ser más específico, no estoy en busca de ayuda para escribir todo el programa, sólo ayuda a mover el cursor sobre el texto que se muestra, destacando, y seleccionándolo y guardarlo en una variable.
Gracias por la respuesta. Me imagino que Tkinter podría ser más fácil de usar. El problema es que tengo que ejecutar remotamente en el servidor al que tengo que enviar ssh dos veces para entrar, y el servidor final no está conectado a internet (contiene información confidencial). Creo que tiene una biblioteca de Tkinter, así que tendré que comprobarlo. Debido a que tengo que ejecutar todo a través de una terminal, creo que puedo ssh -X; ssh -X para poder crear un entorno de ventanas. – Neal