回答編集履歴
4
補足
answer
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
----
|
27
27
|
追記: ttk.Notebook でのドロップ確認用のコード
|
28
28
|
|
29
|
-
※ ttk=0 の部分に True を渡しています。ここはtkdnd.py側で修正済であれば適宜対処。
|
29
|
+
※ drop_target_registerのttk=0 の部分に True を渡しています。ここはtkdnd.py側で修正済であれば適宜対処。
|
30
30
|
|
31
31
|
```python
|
32
32
|
#!/usr/bin/env python3.7
|
3
修正点についてあいまいな点を補足
answer
CHANGED
@@ -26,6 +26,8 @@
|
|
26
26
|
----
|
27
27
|
追記: ttk.Notebook でのドロップ確認用のコード
|
28
28
|
|
29
|
+
※ ttk=0 の部分に True を渡しています。ここはtkdnd.py側で修正済であれば適宜対処。
|
30
|
+
|
29
31
|
```python
|
30
32
|
#!/usr/bin/env python3.7
|
31
33
|
|
@@ -42,7 +44,7 @@
|
|
42
44
|
root.geometry("400x400")
|
43
45
|
|
44
46
|
note = ttk.Notebook(root)
|
45
|
-
note.drop_target_register(True, tkdnd.DND_FILES)
|
47
|
+
note.drop_target_register(True, tkdnd.DND_FILES) # XXX
|
46
48
|
note.dnd_bind('<<Drop>>', drop)
|
47
49
|
note.pack(fill=BOTH, expand=True)
|
48
50
|
|
2
ttk.Notebookドロップ確認用のコードを追加
answer
CHANGED
@@ -16,12 +16,41 @@
|
|
16
16
|
|
17
17
|
DND_TEXT は有効そうなので、テキストのドロップは出来ました。
|
18
18
|
|
19
|
-
|
20
|
-
```
|
21
|
-
|
22
19
|
----
|
23
20
|
※ 但し、dnd_test_ttk.py だけでドロップ出来ないという現象は、上記のコードからは確認できません。
|
24
21
|
双方のテストをした時に、ファイルとテキストで異なっていた可能性はないでしょうか。
|
25
22
|
|
26
23
|
DND_FILES, DND_TEXT はこのコードでは未定義の変数でエラーになるはずですが、
|
27
|
-
他に、投稿の際に編集したということはありませんか?
|
24
|
+
他に、投稿の際に編集したということはありませんか?
|
25
|
+
|
26
|
+
----
|
27
|
+
追記: ttk.Notebook でのドロップ確認用のコード
|
28
|
+
|
29
|
+
```python
|
30
|
+
#!/usr/bin/env python3.7
|
31
|
+
|
32
|
+
import sys
|
33
|
+
from tkinter import *
|
34
|
+
from tkinter import ttk
|
35
|
+
|
36
|
+
import tkdnd
|
37
|
+
|
38
|
+
def drop(event):
|
39
|
+
print(event.data)
|
40
|
+
|
41
|
+
root = tkdnd.Tk()
|
42
|
+
root.geometry("400x400")
|
43
|
+
|
44
|
+
note = ttk.Notebook(root)
|
45
|
+
note.drop_target_register(True, tkdnd.DND_FILES)
|
46
|
+
note.dnd_bind('<<Drop>>', drop)
|
47
|
+
note.pack(fill=BOTH, expand=True)
|
48
|
+
|
49
|
+
frame = ttk.Frame(note)
|
50
|
+
note.add(frame, text="Page1")
|
51
|
+
|
52
|
+
button = ttk.Button(note, text="OK")
|
53
|
+
note.add(button, text="Page1")
|
54
|
+
|
55
|
+
root.mainloop()
|
56
|
+
```
|
1
文章の修正
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
ファイルはドロップできないけどテキストは可能だったりしませんか?
|
5
5
|
|
6
6
|
上記の tkdnd.py を使うとどちらのコードもファイルのドロップは出来ず、
|
7
|
-
公式?(リンク先からダウンロード) の TkinterDnD2 では、ttk で利用できました。
|
7
|
+
公式?(リンク先からダウンロード) の TkinterDnD2 では、ttk でも利用できました。
|
8
8
|
|
9
9
|
差分を確認すると、tkdnd.py には 引数 ttk が追加されてました。
|
10
10
|
|
@@ -12,9 +12,13 @@
|
|
12
12
|
def drop_target_register(self, ttk=0, *dndtypes):
|
13
13
|
```
|
14
14
|
|
15
|
-
DND_FILES が ttk 引数に入ってしまい、dndtypes に渡
|
15
|
+
原因: DND_FILES が ttk 引数に入ってしまい、dndtypes に渡っていない。
|
16
|
+
|
16
17
|
DND_TEXT は有効そうなので、テキストのドロップは出来ました。
|
17
18
|
|
19
|
+
|
20
|
+
```
|
21
|
+
|
18
22
|
----
|
19
23
|
※ 但し、dnd_test_ttk.py だけでドロップ出来ないという現象は、上記のコードからは確認できません。
|
20
24
|
双方のテストをした時に、ファイルとテキストで異なっていた可能性はないでしょうか。
|