回答編集履歴
3
文章の修正
answer
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
**追記**
|
20
20
|
そちらの質問になると押されたボタンがどれであるか判別するって話になりますね。
|
21
|
-
Buttonヴィジェットのcommandで指定した
|
21
|
+
Buttonヴィジェットのcommandで指定した関数には通常だと何の引数も送られないので色々と面倒です。
|
22
22
|
とりあえず今回はcommandではなくbindを使って引数を送る方法を記述しておきます。
|
23
23
|
```python
|
24
24
|
・・・
|
2
文章の修正
answer
CHANGED
@@ -18,8 +18,8 @@
|
|
18
18
|
|
19
19
|
**追記**
|
20
20
|
そちらの質問になると押されたボタンがどれであるか判別するって話になりますね。
|
21
|
-
Buttonヴィジェットの
|
21
|
+
Buttonヴィジェットのcommandで指定したメソッドには通常だと何の引数も送られないので色々と面倒です。
|
22
|
-
とりあえず今回は
|
22
|
+
とりあえず今回はcommandではなくbindを使って引数を送る方法を記述しておきます。
|
23
23
|
```python
|
24
24
|
・・・
|
25
25
|
# カレンダーを作成するフレームクラス
|
1
追記
answer
CHANGED
@@ -14,4 +14,47 @@
|
|
14
14
|
def __init__(self,master,day):
|
15
15
|
print(day)
|
16
16
|
・・・
|
17
|
+
```
|
18
|
+
|
19
|
+
**追記**
|
20
|
+
そちらの質問になると押されたボタンがどれであるか判別するって話になりますね。
|
21
|
+
Buttonヴィジェットのcomanndで指定したメソッドには通常だと何の引数も送られないので色々と面倒です。
|
22
|
+
とりあえず今回はcomanndではなくbindを使って引数を送る方法を記述しておきます。
|
23
|
+
```python
|
24
|
+
・・・
|
25
|
+
# カレンダーを作成するフレームクラス
|
26
|
+
class mycalendar(tk.Frame):
|
27
|
+
・・・
|
28
|
+
def create_calendar(self, year, month):
|
29
|
+
"指定した年(year),月(month)のカレンダーウィジェットを作成する"
|
30
|
+
・・・
|
31
|
+
# 日付ボタンを格納する変数をdict型で作成
|
32
|
+
self.day = {}
|
33
|
+
# for文を用いて、日付ボタンを生成
|
34
|
+
for i in range(0, 42):
|
35
|
+
c = i - (7 * int(i / 7))
|
36
|
+
r = int(i / 7)
|
37
|
+
try:
|
38
|
+
# 日付が0でなかったら、ボタン作成
|
39
|
+
if days[r][c] != 0:
|
40
|
+
#日付ボタンを押下すると別ウィンドウを表示
|
41
|
+
self.day[i] = d_button(self.frame_calendar, text=days[r][c])
|
42
|
+
self.day[i].grid(column=c, row=r)
|
43
|
+
self.day[i].bind("<ButtonPress>", self.createNewWindow)
|
44
|
+
except:
|
45
|
+
"""
|
46
|
+
月によっては、i=41まで日付がないため、日付がないiのエラー回避が必要
|
47
|
+
"""
|
48
|
+
break
|
49
|
+
・・・
|
50
|
+
#別ウィンドウを呼び出し関数
|
51
|
+
def createNewWindow(self,event):
|
52
|
+
self.newWindow = tk.Toplevel(root)
|
53
|
+
self.app = Win2(self.newWindow,event)
|
54
|
+
・・・
|
55
|
+
# 別ウィンドウクラス
|
56
|
+
class Win2(tk.Frame):
|
57
|
+
def __init__(self,master,event):
|
58
|
+
print(event.widget["text"])
|
59
|
+
・・・
|
17
60
|
```
|