使用dnd data.get_text()进行Python字符编码

时间:2014-05-18 16:49:46

标签: python drag-and-drop pygtk

我想使用gtk drag& drop获取已删除文件的名称。这是代码:

[...]
    self.scrolledwindow_play.drag_dest_set(Gtk.DestDefaults.ALL, [], Gdk.DragAction.COPY)
    self.scrolledwindow_play.connect('drag_data_received', self.on_drag_data_received_to_play)
    self.scrolledwindow_play.drag_dest_set_target_list(None)
    self.scrolledwindow_play.drag_dest_add_text_targets()

def on_drag_data_received_to_play(self, widget, drag_context, x,y, data,info, time):
    print data.get_text()

当我拖动文件并放入小部件时,我会:

像这样{p> file:///home/mnrl/Masa%C3%BCst%C3%BC/spinbutton.py。但真正的文件路径是:

file:///home/mnrl/Masaüstü/spinbutton.py

为什么编码字符不同?我如何正确地获取文件路径?

1 个答案:

答案 0 :(得分:0)

在你的python文件的头部定义你的编码,如下所示:

http://legacy.python.org/dev/peps/pep-0263/

确保您的编辑器也设置为相同的编码。