質問編集履歴

4

コードのミス

2018/01/20 20:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -39,6 +39,14 @@
39
39
  self.f = Tk.Frame(self.top)
40
40
 
41
41
  self.f.pack()
42
+
43
+ self.volume = Tk.IntVar()
44
+
45
+ self.volume.set(50)
46
+
47
+ self.volume_bar = Tk.Scale(self.f, orient='h',variable=self.volume)
48
+
49
+ self.volume_bar.pack()
42
50
 
43
51
 
44
52
 
@@ -88,6 +96,4 @@
88
96
 
89
97
 
90
98
 
91
- class Frame(Tk.Frame):
92
-
93
99
  ```

3

コードのミス

2018/01/20 20:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -39,6 +39,10 @@
39
39
  self.f = Tk.Frame(self.top)
40
40
 
41
41
  self.f.pack()
42
+
43
+
44
+
45
+ class Frame(Tk.Frame):
42
46
 
43
47
  def __init__(self, master=None):
44
48
 

2

質問の仕方を変えた

2018/01/20 20:32

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -13,3 +13,77 @@
13
13
  つまりある動作(ここでいえば子ウィンドウが開いているかいないか)をイベントとして登録するというツールや発想があれば教えていただきたいです
14
14
 
15
15
  よろしくお願いします
16
+
17
+
18
+
19
+ ```python
20
+
21
+ import tkinter as Tk
22
+
23
+
24
+
25
+ class VolumeWindow:
26
+
27
+
28
+
29
+ def __init__(self, master):
30
+
31
+ self.master = master
32
+
33
+
34
+
35
+ def make_window(self, event=None):
36
+
37
+ self.top = Tk.Toplevel(self.master)
38
+
39
+ self.f = Tk.Frame(self.top)
40
+
41
+ self.f.pack()
42
+
43
+ def __init__(self, master=None):
44
+
45
+ Tk.Frame.__init__(self, master)
46
+
47
+ self.f = Tk.Frame(self)
48
+
49
+ self.f.pack()
50
+
51
+
52
+
53
+ self.volume = VolumeWindow(self.f)
54
+
55
+ self.f_button = Tk.Frame(self.f)
56
+
57
+ self.f_button.pack()
58
+
59
+
60
+
61
+ self.volume_button = Tk.Button(self.f_button, text='Volume', command=self.control_volume, state=Tk.NORMAL)
62
+
63
+
64
+
65
+ self.volume_button.pack(padx=5, pady=5, side=Tk.LEFT)
66
+
67
+
68
+
69
+ def control_volume(self):
70
+
71
+ self.volume.make_window()
72
+
73
+ self.volume_button.configure(state=Tk.DISABLED)
74
+
75
+
76
+
77
+ if __name__ == '__main__':
78
+
79
+ f = Frame()
80
+
81
+ f.pack()
82
+
83
+ f.mainloop()
84
+
85
+
86
+
87
+ class Frame(Tk.Frame):
88
+
89
+ ```

1

作業依頼にはしたくなく、あえてコードを送らないような質問の仕方にした

2018/01/20 19:50

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Tkinter でボタを制御たい
1
+ Tkinter で動作をイベトとて登録する方法
test CHANGED
@@ -4,26 +4,12 @@
4
4
 
5
5
  音楽プレーヤーをtkinterを使って製作しているのですが
6
6
 
7
- ボタンを制御る方法分からず困ってい
7
+ ボタンと新しい子ウィンドウ作成され、子ウィンドウが出ている間はボタンをDISABLEして、ウィンドウが新たに作成されないようにしたいのでが、
8
8
 
9
- configure で state  DISABLED, NORMAL 変えるやり方が一般的なうで
9
+ "子ウィンドウ閉じるとまたボタンをNORMALにする"いう部分をコードとして書くがよく分からず困っていま
10
-
11
- 自分のコードに適用できず困っています
12
-
13
- いい方法を知っている方いればよろしくお願いいたします
14
10
 
15
11
 
16
12
 
17
- ```python
13
+ つまりある動作(ここでいえば子ウィンドウが開いているかいないか)をイベントとして登録するというツールや発想があれば教えていただきたいです
18
14
 
19
- self.volume_button = Tk.Button(self.f_button, text='Volume', command=VolumeWindow(self.f))
20
-
21
-
22
-
23
- ```
24
-
25
- ボタンを押すとVolumeWindowが出るのですが、このままだとVolumeWindowが押す度にできてしまうので
26
-
27
- Windowが出てる間はstateをDISABLEDにるか
15
+ よろしくお願しま
28
-
29
- あるいはVolumeWindowの数を1つだけに制限したいです