質問編集履歴
1
頂いたご回答を元に考えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,35 +2,57 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
python 初心者です。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
|
9
|
+
def で作った関数で読み込んだ画像ファイルを表示させようとしているのですが、
|
10
10
|
|
11
|
-
|
11
|
+
ある行の有無で、ファイル表示が左右されます。
|
12
12
|
|
13
|
-
|
13
|
+
下記コードの関数定義 def fileread 中、一番下(11行目)の
|
14
14
|
|
15
|
-
|
15
|
+
lbl.image = imageData が無いと、読み込んだファイルが表示されません。
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
|
19
|
+
お二人からご返信頂き考えていたのですが、
|
20
|
-
|
21
|
-
lbl.image = imageData が無いと、読み込んだファイルが表示されません。
|
22
20
|
|
23
21
|
|
24
22
|
|
25
|
-
|
23
|
+
まず、lbl は21行目の lbl = tk.Label(image=imageDatac1) で宣言しており、
|
24
|
+
|
25
|
+
fileread の外なので、グローバル変数と思っています。
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
|
29
|
+
次に fileread の中ですが、lbl という名前を使っている為、
|
30
30
|
|
31
|
-
|
31
|
+
10行目:グローバル変数 lbl の属性 image を imageData に変更する。
|
32
32
|
|
33
|
+
11行目:グローバル変数 lbl の属性 image を imageData にする。
|
34
|
+
|
35
|
+
のように思ってしまっています。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
10行目の fileread 内の lbl.configure(image = imageData) では、
|
40
|
+
|
41
|
+
lblという変数を使っていますが、21行目で宣言している lbl には繋がっておらず、
|
42
|
+
|
43
|
+
この lbl は fileread 内のローカル変数ということでしょうか?
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
また、fileread内の lbl がローカル変数とすると、
|
48
|
+
|
49
|
+
11行目の lbl.image = imageData があると、何故繋がるのでしょうか?
|
50
|
+
|
51
|
+
|
52
|
+
|
33
|
-
|
53
|
+
根本的に理解できておらず申し訳ありませんが、宜しくお願い致します。
|
54
|
+
|
55
|
+
|
34
56
|
|
35
57
|
|
36
58
|
|
@@ -44,6 +66,8 @@
|
|
44
66
|
|
45
67
|
### 該当のソースコード
|
46
68
|
|
69
|
+
```python
|
70
|
+
|
47
71
|
import tkinter as tk
|
48
72
|
|
49
73
|
import tkinter.filedialog as fd
|
@@ -51,8 +75,6 @@
|
|
51
75
|
import PIL.Image
|
52
76
|
|
53
77
|
import PIL.ImageTk
|
54
|
-
|
55
|
-
|
56
78
|
|
57
79
|
|
58
80
|
|
@@ -64,11 +86,9 @@
|
|
64
86
|
|
65
87
|
imageData = PIL.ImageTk.PhotoImage(newImage)
|
66
88
|
|
67
|
-
lbl.configure(image = imageData)
|
89
|
+
lbl.configure(image = imageData) ### <- lbl はローカル変数でしょうか?
|
68
90
|
|
69
|
-
lbl.image = imageData ### <-
|
91
|
+
lbl.image = imageData ### <- lbl はグローバル変数でしょうか?
|
70
|
-
|
71
|
-
|
72
92
|
|
73
93
|
|
74
94
|
|
@@ -77,8 +97,6 @@
|
|
77
97
|
root.title("select dog, cat")
|
78
98
|
|
79
99
|
root.geometry("400x350")
|
80
|
-
|
81
|
-
|
82
100
|
|
83
101
|
|
84
102
|
|
@@ -114,7 +132,7 @@
|
|
114
132
|
|
115
133
|
|
116
134
|
|
117
|
-
|
135
|
+
```
|
118
136
|
|
119
137
|
### 試したこと
|
120
138
|
|
@@ -122,7 +140,7 @@
|
|
122
140
|
|
123
141
|
def の外で、同様の文を書いてみましたが、そちらは画像表示に影響しませんでした。
|
124
142
|
|
125
|
-
(上記コード中、2
|
143
|
+
(上記コード中、26行目)
|
126
144
|
|
127
145
|
|
128
146
|
|