人生の敗北者でも使えるPythonのお勉強 Part3
■ このスレッドは過去ログ倉庫に格納されています
0329307
NGNGパスにマルチバイト文字入れるなんてことしないYO!
念のためパス名を確認しましたが、マルチバイト文字は含まれていないです。
そもそもドロップしたときに _DndBase の _dnd_substitute が呼ばれてません。
各関数の先頭に print を入れて処理の流れを追ってみたのですが、
# root = Tk()
# require_dnd(root)
require_dnd
# app = MyApp(root)
<__main__.MyApp instance at 0xXXXXXXXX>.__init__
<__main__.MyApp instance at 0xXXXXXXXX>.__setup__
<__main__.MyApp instance at 0xXXXXXXXX>.__dnd_bindtarget__('text/plain')
<__main__.MyApp instance at 0xXXXXXXXX>.__dnd_bindtarget__('text/uri-list')
# app.mainloop()
# (終了)
……となります。mainloop に入ってからはどの関数も呼ばれてません。
ドロップしても反応無し。
むしろ
> ev.data = [ x.decode("UTF-8") for x in self.tk.splitlist(D) ]
というのを初めて見ました;
これは
ev.data = map(lambda x: x.decode("UTF-8"), self.tk.splitlist(D))
と等価……なんでしょうか。
■ このスレッドは過去ログ倉庫に格納されています