回答編集履歴
5
注意書き追記
answer
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
こんな書き方はいかが?
|
2
2
|
配列アクセスや属性アクセス(`__getattr__`)もできるようにクラスを作ってみました。
|
3
|
+
ただ、Entriesはmainloopから抜けると`get()`できなくなるため、`StringVar()` を使うように変えた方がよさそうです。
|
3
4
|
|
4
5
|
```python
|
5
6
|
import sys
|
4
ユニコード指定は不要なので削除
answer
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
entries = Entries()
|
31
31
|
|
32
32
|
root = tkinter.Tk()
|
33
|
-
root.title(
|
33
|
+
root.title("GUI_test")
|
34
34
|
|
35
35
|
for label in labels:
|
36
36
|
tkinter.Label(text=label).pack()
|
3
スペルミス修正
answer
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
```python
|
5
5
|
import sys
|
6
6
|
import tkinter
|
7
|
-
import numpy as np
|
7
|
+
#import numpy as np
|
8
|
-
import matplotlib.pyplot as plt
|
8
|
+
#import matplotlib.pyplot as plt
|
9
9
|
|
10
10
|
labels = dict(x0=0, y0=0,
|
11
11
|
nx='', ny='',
|
@@ -50,9 +50,12 @@
|
|
50
50
|
y += [y_center + Py_small/2] * 4
|
51
51
|
return x, y
|
52
52
|
|
53
|
+
|
53
|
-
def
|
54
|
+
def calculate():
|
54
55
|
values = [int(entries[label]) for label in labels]
|
55
56
|
x, y = generate_xy(*values)
|
57
|
+
print(x)
|
58
|
+
print(y)
|
56
59
|
for label in labels:
|
57
60
|
print(label + ':' + entries[label])
|
58
61
|
fig = plt.figure(figsize=(5,5))
|
@@ -66,7 +69,7 @@
|
|
66
69
|
fig.show()
|
67
70
|
|
68
71
|
|
69
|
-
tkinter.Button(text='
|
72
|
+
tkinter.Button(text='Calculate', command=calculate).pack()
|
70
73
|
|
71
74
|
root.mainloop()
|
72
75
|
```
|
2
append処理簡略化
answer
CHANGED
@@ -42,21 +42,14 @@
|
|
42
42
|
def generate_xy(x0, y0, nx, ny, Px_small, Py_small, Px_large, Py_large):
|
43
43
|
x = []
|
44
44
|
y = []
|
45
|
-
for
|
45
|
+
for xi in range(nx):
|
46
|
-
for
|
46
|
+
for yi in range(ny):
|
47
|
-
x_center = x0 -
|
47
|
+
x_center = x0 - xi*Px_large
|
48
|
-
y_center = y0 -
|
48
|
+
y_center = y0 - yi*Py_large
|
49
|
-
x
|
49
|
+
x += [x_center + Px_small/2] * 4
|
50
|
-
y
|
50
|
+
y += [y_center + Py_small/2] * 4
|
51
|
-
x.append(x_center + Px_small/2)
|
52
|
-
y.append(y_center - Py_small/2)
|
53
|
-
x.append(x_center - Px_small/2)
|
54
|
-
y.append(y_center - Py_small/2)
|
55
|
-
x.append(x_center - Px_small/2)
|
56
|
-
y.append(y_center + Py_small/2)
|
57
51
|
return x, y
|
58
52
|
|
59
|
-
|
60
53
|
def caliculate():
|
61
54
|
values = [int(entries[label]) for label in labels]
|
62
55
|
x, y = generate_xy(*values)
|
1
デバッグ行削除
answer
CHANGED
@@ -59,7 +59,6 @@
|
|
59
59
|
|
60
60
|
def caliculate():
|
61
61
|
values = [int(entries[label]) for label in labels]
|
62
|
-
print(values)
|
63
62
|
x, y = generate_xy(*values)
|
64
63
|
for label in labels:
|
65
64
|
print(label + ':' + entries[label])
|