Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Enhancement] Simple drag and drop support

Abierto
#6,051 10 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
desktop, frontend

Línea de trabajo

Comienza siguiendo la creación de Window y el flujo de eventos y valores de window.read() para el port de tkinter, y después compara la compatibilidad existente con arrastrar y soltar descrita para los elementos Qt Input y Multiline. Define cómo deben representarse los archivos y el texto sin formato soltados, implementa la compatibilidad para toda la ventana para el port de escritorio solicitado y verifica que las acciones de soltar produzcan un evento y un valor utilizables.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Type of Issue (Enhancement, Error, Bug, Question)

Enhancement


Environment

Operating System

Windows version 10 21H2

PySimpleGUI Port (tkinter, Qt, Wx, Web)

tkinter, Qt, Wx


Versions

Python version (sg.sys.version)

3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)]

PySimpleGUI Version (sg.__version__)

4.60.4

GUI Version (tkinter (sg.tclversion_detailed), PySide2, WxPython, Remi)

8.6.12



Troubleshooting

These items may solve your problem. Please check those you've done by changing - [ ] to - [X]

  • Searched main docs for your problem www.PySimpleGUI.org
  • Looked for Demo Programs that are similar to your goal Demos.PySimpleGUI.org
  • If not tkinter - looked for Demo Programs for specific port
  • For non tkinter - Looked at readme for your specific port if not PySimpleGUI (Qt, WX, Remi)
  • Run your program outside of your debugger (from a command line)
  • Searched through Issues (open and closed) to see if already reported Issues.PySimpleGUI.org
  • Tried using the PySimpleGUI.py file on GitHub. Your problem may have already been fixed but not released

Detailed Description

In short, make it possible to drop file(s) and plain text (which includes urls from browser address bar) into a Window.

In both Windows and Mac, drag and drop is one of the first things that the users learn, it is easy and intuitive. Depriving an app of ability to implement drag and drop is crippling it. It's no better than, say, disabling right mouse clicks.

Currently, PySimpleGUI provides a very limited drag and drop support.
According to https://github.com/PySimpleGUI/PySimpleGUI/issues/732 and https://github.com/PySimpleGUI/PySimpleGUI/issues/6047, it's only Qt port (which is still in Alpha since 2020) and only Input and Multiline elements. Such limitations lead to questionable layout choices, and it's kind of awkward asking users to "aim for that little text input thingy" too.

So here's how I imagine the solution. Something very basic and easy to use, e.g.

Create a Window with enable_drag_and_drop_events property set to True.

After that, dropping a file or text anywhere into a Window would generate an event, and event, values = window.read() would return something like DND:<plain text or path plus file name> as event or maybe just DND for event and a special key-value pair in values for the actual data.

Any desktop port will do, but tkinter is preferable since it's more complete and doesn't seem outdated like Qt and Wx versions.

Lenguaje dominante
Python
Estrellas
13.8k
Forks
1.8k
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PySimpleGUI/PySimpleGUI

Todos los issues de PySimpleGUI/PySimpleGUI

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.