The drag and drop signals provide a DragContext, which contains some information about the drag and drop operation and can be used to influence the process. For instance, you can discover the source widget, or change the drag and drop icon, by using the set_icon() methods. More importantly, you should call the drag_finish() method from your drag_data_received signal handler to indicate whether the drop was successful.