Tkinterdnd2でパスに{} やバックスラッシュが入るバグの対処法

Python

TkinterでGUIを作成しています。

ドラッグアンドドロップを実装したくて、Tkinterednd2を使いましたが、上手くパスが取得されないというバグがありました。

具体的にはこんな感じ

先頭と末尾に{}がつくのと、スラッシュ(/)がバックスラッシュ(\)になってしまっています。パスに日本語が含まれていることが原因かなと思いましたが、発生するときとしないときがあるので発生条件は不明。

根本的な解決ではないですが、とりあえず{}と\がパスに現れたら変換してしまえばいいので、そのような関数を組み込みます。

Entryにドロップされたパスに対して、{}があったら削除し、\があったら/に変換して、Entryに挿入し直すだけです。

注意点として、元々のファイル名に{}が含まれている場合、そちらも削除してしまいます。

Python
スポンサーリンク
Haoxhpoをフォローする
能動ブログ
タイトルとURLをコピーしました