elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Usar el portapapeles con tkinter [PYTHON]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Usar el portapapeles con tkinter [PYTHON]  (Leído 1,205 veces)
Yidu

Desconectado Desconectado

Mensajes: 126


Ver Perfil
Usar el portapapeles con tkinter [PYTHON]
« en: 1 Abril 2018, 20:17 pm »

Hola de nuevo!

Pues esa es la duda que tengo. No se si hay algún método en tkinter para poder importar/exportar el contenido del portapapeles. Aunque lo que mas me interesa es poder copiar el contenido a un widget Entry. Osea, lo que escribamos en el bloc de notas, por ejemplo, poder pegarlo en la caja del widget Entry.

He visto por alguna web que usan el método:

Código
  1. ventana = Tk()
  2. ventana.withdraw()

Y luego hacen una llamada como:

Código
  1. ventana.clipboard_get()

En todo caso, me gustaría saber, como se enlaza todo esto con Entry o cual es la forma correcta de hacerlo.

Un saludo!

EDITO:

He probado algún código y lo que mas se asemeja lo pongo en el siguiente script. Pero para que funcione primero hemos de copiar el texto y luego abrir nuestro programa con tkinter. Y claro, queda un poco chusquero. Me gustaría que sin cerrar nuestra aplicación se pudiera hacer copy/paste en tiempo real.

Código
  1. from tkinter import Tk, Entry, StringVar
  2.  
  3. raiz = Tk()
  4. copiado = raiz.clipboard_get()
  5.  
  6. varEntry = StringVar()
  7. e1 = Entry(raiz, textvariable = varEntry)
  8. e1.place(x = 0, y = 0)
  9. varEntry.set(copiado)
  10.  
  11. raiz.mainloop()
  12.  

Bueno, creo que esto es mas o menos lo que queria conseguir. He añadido un Button para ir actualizando lo que se copia en el portapapeles. No se si es la forma correcta de hacerlo. Por si alguien le interesa, pongo mi script:

Código
  1. from tkinter import Tk, Entry, StringVar, Button
  2.  
  3. raiz = Tk()
  4.  
  5. def pegar():
  6.    pegado = raiz.clipboard_get()
  7.    varEntry.set(pegado)
  8.  
  9.  
  10.  
  11. b1 = Button(raiz, text = 'Pegar', command = pegar)
  12. b1.place(x = 0, y = 50)
  13.  
  14. varEntry = StringVar()
  15. e1 = Entry(raiz, textvariable = varEntry)
  16. e1.place(x = 0, y = 0)
  17.  
  18.  
  19. raiz.mainloop()
  20.  
  21.  


« Última modificación: 1 Abril 2018, 21:16 pm por Yidu » En línea

PUAROT

Desconectado Desconectado

Mensajes: 86



Ver Perfil WWW
Re: Usar el portapapeles con tkinter [PYTHON]
« Respuesta #1 en: 1 Abril 2018, 21:17 pm »

A mi me hizo falta para un proyecto que hice y lo resolví con clipboard_append(text) que es un método de la clase widget
Espero que sea lo que buscas


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines