質問編集履歴

4

内容変更

2020/01/06 18:57

投稿

storycat
storycat

スコア7

test CHANGED
@@ -1 +1 @@
1
- windowアプリ実装について。windowを超えたログ収集、計算、テキスト表示について
1
+ windowアプリ実装における、tkinter.entryテキスト記憶エラーについて
test CHANGED
@@ -1,25 +1,39 @@
1
- アプリ実装に伴、windowの遷移を10回ぐらい行うアプリを作ってみた(診断アプリ)のです配置・設定に関してわらない問題が出しまい、知恵をお借りしたます・・・。
1
+ エラー指してる意味が分かいです、、、。誰教えてくださ
2
-
2
+
3
+
4
+
5
+
6
+
3
- 内容
7
+ エラー内容
4
-
5
- windowをまたぐログ収集、数字加算、バックグラウンドにログデータとして収集する、endタブのテキスト表示、テキスト変更制限の付与です。
6
-
7
-
8
-
9
- だれかわかる方もしくはこの内容に詳しい方いませんか・・・?(部分的にわかる方いると嬉しいです・・!)
10
-
11
- 何卒よろしくお願いいたします・・。
12
-
13
- 注:短縮Verのコードで載せています。これを実行するとエラーでまくりだとは思いますが・・・。
14
-
15
-
16
-
17
- dogpointとかは最終的に10回の質問をすることで、dogpoint+catpoint=100になるようにしています。rangeは0以上100以内です。
18
-
19
-
20
8
 
21
9
  ```python
22
10
 
11
+ Exception in Tkinter callback
12
+
13
+ Traceback (most recent call last):
14
+
15
+ File "C:\Users\Kazumi Kitazawa\Anaconda3\lib\tkinter\__init__.py", line 1705, in __call__
16
+
17
+ return self.func(*args)
18
+
19
+ File "c:/Users/Kazumi Kitazawa/Desktop/dog_or_cat/Untitled-1.py", line 111, in done
20
+
21
+ entry.get()
22
+
23
+ TypeError: get() missing 1 required positional argument: 'index1'
24
+
25
+ ```
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ ```python
36
+
23
37
  import tkinter as tk
24
38
 
25
39
 
@@ -40,24 +54,28 @@
40
54
 
41
55
 
42
56
 
57
+ def add_dogpoint():
58
+
59
+ global dogpoint
60
+
61
+ dogpoint += 10
62
+
63
+
64
+
65
+ def add_catpoint():
66
+
67
+ global catpoint
68
+
69
+ catpoint += 10
70
+
71
+
72
+
73
+
74
+
43
75
  dogpoint = 0
44
76
 
45
77
  catpoint = 0
46
78
 
47
- def add_dogpoint():
48
-
49
- dogpoint=dogpoint+10
50
-
51
- ##ボタンが押されると、自働的にdogpointに加算されるようにして、最後のwindowでdogpointを表示すると加算された最終結果が返されるようにしたい。
52
-
53
-
54
-
55
- def add_catpoint():
56
-
57
- catpoint=catpoint+10
58
-
59
- ##ボタンが押されると、自働的にdogpointに加算されるようにして、最後のwindowでdogpointを表示すると加算された最終結果が返されるようにしたい。
60
-
61
79
 
62
80
 
63
81
 
@@ -88,9 +106,7 @@
88
106
 
89
107
  entry1.place(x=350, y=200)
90
108
 
91
- entry1.insert(entry+"は犬度"+dogpoint+"%" + "猫度" +catpoint+"%です。")
109
+ entry1.insert(entry+"は犬度"+dogpoint+"%"+"猫度"+catpoint+"%です。")
92
-
93
- ##ここでentry1への記入・改変をwindow上でできないように設定したい。
94
110
 
95
111
 
96
112
 
@@ -98,27 +114,9 @@
98
114
 
99
115
  entry2.place(x=350,y=300)
100
116
 
101
- if dogpoint = 20 and catpoint = 0,
117
+
102
-
103
- entry2.insert(entry + 'の前世は犬だったかもしれません')
118
+
104
-
105
- elif dogpoint = 10 and catpoint = 10,
106
-
107
- entry2.insert(entry + 'の前世は犬にも猫にも好かれていたようです')
108
-
109
- elif dogpoint = 0 and catpoint = 20,
110
-
111
- entry2.insert(entry + 'の前世は猫だったかもしれません')
112
-
113
- ##ここでentry2への記入・改変をwindow上でできないようにしたい。
114
-
115
-
116
-
117
- page.protocol('WM_DELETE_WINDOW', submit)
119
+ page.protocol('WM_DELETE_WINDOW', submit)
118
-
119
- ##ここで、バックグラウンドにそれぞれの結果の情報を収集しログとして記憶させられる仕組みにして、そのログからスコア引っ張り出したい。
120
-
121
-
122
120
 
123
121
 
124
122
 
@@ -142,13 +140,31 @@
142
140
 
143
141
  end()
144
142
 
143
+
144
+
145
+ def done_Q2A():
146
+
147
+ add_dogpoint
148
+
149
+ submit
150
+
151
+
152
+
153
+ def done_Q2B():
154
+
155
+ add_catpoint
156
+
157
+ submit
158
+
159
+
160
+
145
- Question2A_button = tk.Button(page, text="主導権を自分が持ちたい", font=("UD デジタル 教科書体 N-B", 30), fg="gray1", bg="lightskyblue1",command=submit,lambda:add_dogpoint())
161
+ Question2A_button = tk.Button(page, text="主導権を自分が持ちたい", font=("UD デジタル 教科書体 N-B", 30), fg="gray1", bg="lightskyblue1",command=done_Q2A)
146
162
 
147
163
  Question2A_button.place(x=150, y=450)
148
164
 
149
- ##ここでエラー。add_dogpointが使えない。以下も同じ。無名関数入れてやってみたが、お手上げ。
165
+
150
-
166
+
151
- Question2B_button = tk.Button(page, text="相手にリードしてもらいたい", font=("UD デジタル 教科書体 N-B", 30), fg="gray1",bg="lightskyblue1",command=submit, lambda:add_catpoint())
167
+ Question2B_button = tk.Button(page, text="相手にリードしてもらいたい", font=("UD デジタル 教科書体 N-B", 30), fg="gray1",bg="lightskyblue1",command=done_Q2B)
152
168
 
153
169
  Question2B_button.place(x=650, y=450)
154
170
 
@@ -174,11 +190,29 @@
174
190
 
175
191
  Q2()
176
192
 
193
+
194
+
195
+ def done_Q1A():
196
+
197
+ add_dogpoint
198
+
199
+ submit
200
+
201
+
202
+
203
+ def done_Q1B():
204
+
205
+ add_catpoint
206
+
207
+ submit
208
+
209
+
210
+
177
- Question1A_button = tk.Button(page, text="もちろんOK!", font=("UD デジタル 教科書体 N-B", 35), fg="gray1",bg="lightskyblue1",command=submit,lambda:add_dogpoint())
211
+ Question1A_button = tk.Button(page, text="もちろんOK!", font=("UD デジタル 教科書体 N-B", 35), fg="gray1",bg="lightskyblue1",command=done_Q1A)
178
212
 
179
213
  Question1A_button.place(x=230, y=450)
180
214
 
181
- Question1B_button = tk.Button(page, text="  嫌!  ", font=("UD デジタル 教科書体 N-B", 35), fg="gray1",bg="lightskyblue1",command=submit,lambda:add_catpoint())
215
+ Question1B_button = tk.Button(page, text="  嫌!  ", font=("UD デジタル 教科書体 N-B", 35), fg="gray1",bg="lightskyblue1",command=done_Q1B)
182
216
 
183
217
  Question1B_button.place(x=650, y=450)
184
218
 
@@ -210,14 +244,20 @@
210
244
 
211
245
  Q1()
212
246
 
247
+
248
+
249
+ def done():
250
+
251
+ entry.get()
252
+
253
+ submit()
254
+
213
- button = tk.Button(page, text="ニックネーム登録", font=("UD デジタル 教科書体 N - B", 40), fg="orange", command=submit, entry.get())
255
+ button = tk.Button(page, text="ニックネーム登録", font=("UD デジタル 教科書体 N - B", 40), fg="orange", command=done)
214
256
 
215
257
  button.place(x=420, y=600)
216
258
 
217
259
  page.protocol('WM_DELETE_WINDOW', submit)
218
260
 
219
- ##ここで、entryにプレイヤーが入力したニックネームを記憶させて、end()タブで(ニックネーム)の前世は・・・という形で作りたい。
220
-
221
261
 
222
262
 
223
263
  def start():
@@ -250,6 +290,6 @@
250
290
 
251
291
 
252
292
 
253
-
293
+ ``
254
294
 
255
295
  ```

3

修正

2020/01/06 18:57

投稿

storycat
storycat

スコア7

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- だれかわかる方もしくはこの内容に詳しい方いませんか・・・?
9
+ だれかわかる方もしくはこの内容に詳しい方いませんか・・・?(部分的にわかる方いると嬉しいです・・!)
10
10
 
11
11
  何卒よろしくお願いいたします・・。
12
12
 

2

誤字修正

2020/01/05 11:24

投稿

storycat
storycat

スコア7

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  entry1.place(x=350, y=200)
90
90
 
91
- entry1.insert(entry+"は犬度"+dogpoint+"%"+catpoint+"%です。")
91
+ entry1.insert(entry+"は犬度"+dogpoint+"%" + "猫度" +catpoint+"%です。")
92
92
 
93
93
  ##ここでentry1への記入・改変をwindow上でできないように設定したい。
94
94
 

1

修正

2020/01/05 09:41

投稿

storycat
storycat

スコア7

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,10 @@
14
14
 
15
15
 
16
16
 
17
+ dogpointとかは最終的に10回の質問をすることで、dogpoint+catpoint=100になるようにしています。rangeは0以上100以内です。
18
+
19
+
20
+
17
21
  ```python
18
22
 
19
23
  import tkinter as tk