error to convert a gtk2 application with drag and drop to gtk3 (python)

12 Views Asked by At

I had an application that worked with pygtk, I'm trying to convert it to gtk3, but I'm having problems with drag and drop. In the old version, I had:

TARGET_TYPE_PERSONA = 120
toPersona = [("datos/persona", 0, TARGET_TYPE_PERSONA)] 
...
a = Persona()
a.connect("drag_data_get", self.lanzardrag)
...
def lanzardrag(self, widget, drag_context, data, info, time):
        if info == TARGET_TYPE_PERSONA:
            ...
            data.set(data.target, 8, cad)
            ...

Now, with GTK3, I try:

TARGET_TYPE_PERSONA = 120
toPersona = [Gtk.TargetEntry.new("datos/persona", 0, TARGET_TYPE_PERSONA)] 
...
def lanzardrag(self, widget, drag_context, data, info, time):
            if info == TARGET_TYPE_PERSONA:
                ...
                data.set(data.get_target(), 8, cad)
                ...

But in this last line gives an error: TypeError: Item 0: Must be number, not str

the out of print(data.get_target()) is "datos/persona" (I don't know if is a bug).

0

There are 0 best solutions below