teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

ソースコードの更新

2021/04/30 05:59

投稿

beginerdesu
beginerdesu

スコア3

title CHANGED
File without changes
body CHANGED
@@ -4,90 +4,97 @@
4
4
  コード1がボタンをクリックするたびにプログレスバーが進行するのに対しコード2はプログラム中の任意の点でプログレスバーが進行する様にしています。
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
- 二つのコードで違う箇所は進捗ボタン 以下の4行ほどですがコード1は実行した直後にプログレスバーが画面に出てくるのに対してコード2はforループが終わったタイミングかつプログレスバーが右端までいった状態で画面に出てきます。
7
+ 二つのコードで違う箇所は#進捗ボタン 以下の4行ほどですがコード1は実行した直後にプログレスバーが画面に出てくるのに対してコード2はforループが終わったタイミングかつプログレスバーが右端までいった状態で画面に出てきます。
8
8
  コード1と同様にプログラムを実行した直後にプログレスバーを出現させ、かつforループが1進むごとにプログレスバーのメモリを増やすにはどのようにすればよろしいでしょうか?
9
9
 
10
10
  ### 該当のソースコード
11
+ コード1
11
12
 
12
- コード1
13
+ ```python
13
14
  from tkinter import *
14
15
  from tkinter import ttk
15
16
 
16
17
  def button_click():
17
- > pbval.set(pbval.get() + 1)
18
+ pbval.set(pbval.get() + 1)
18
19
 
19
20
 
20
21
  if __name__ == '__main__':
21
- > root = Tk()
22
+ root = Tk()
22
23
  ttk.Style().theme_use('classic')
23
24
  root.title('Progress')
24
25
  root.columnconfigure(0, weight=1);
25
26
  root.rowconfigure(0, weight=1);
26
27
 
27
-
28
+ # Frame
28
- > frame1 = ttk.Frame(root, padding=10)
29
+ frame1 = ttk.Frame(root, padding=10)
29
30
  frame1.grid(sticky=(N, W, S, E))
30
31
  frame1.columnconfigure(0, weight=1);
31
32
  frame1.rowconfigure(0, weight=1);
32
33
 
34
+ # プログレスバー (確定的)
35
+
33
- > pbval = IntVar(value=0)
36
+ pbval = IntVar(value=0)
34
37
  pb = ttk.Progressbar(
35
- >> frame1,
38
+ frame1,
36
39
  orient=HORIZONTAL,
37
40
  variable=pbval,
38
41
  maximum=10,
39
42
  length=200,
40
43
  mode='determinate')
44
+ pb.grid(row=0, column=0, sticky=(N, E, S, W))
41
45
 
42
- > pb.grid(row=0, column=0, sticky=(N, E, S, W))
43
-
44
- > !進捗ボタン
46
+ # 進捗ボタン
45
- > button1 = ttk.Button(
47
+ button1 = ttk.Button(
46
- >> frame1, text='OK', width=5,
48
+ frame1, text='OK', width=5,
47
49
  command=button_click)
50
+ button1.grid(row=0, column=1, padx=5, sticky=(E))
48
51
 
49
- > button1.grid(row=0, column=1, padx=5, sticky=(E))
50
- root.mainloop()
52
+ root.mainloop()
53
+ ```
51
54
 
52
55
  コード2
53
56
 
57
+ ```python
54
58
  from tkinter import *
55
59
  from tkinter import ttk
56
60
  import time
57
61
 
58
62
  def button_click():
59
- > pbval.set(pbval.get() + 1)
63
+ pbval.set(pbval.get() + 1)
60
64
 
61
65
 
62
66
  if __name__ == '__main__':
63
- > root = Tk()
67
+ root = Tk()
64
- > ttk.Style().theme_use('classic')
68
+ ttk.Style().theme_use('classic')
65
- > root.title('Progress')
69
+ root.title('Progress')
66
- > root.columnconfigure(0, weight=1);
70
+ root.columnconfigure(0, weight=1);
67
- > root.rowconfigure(0, weight=1);
71
+ root.rowconfigure(0, weight=1);
68
72
 
73
+ # Frame
69
- > frame1 = ttk.Frame(root, padding=10)
74
+ frame1 = ttk.Frame(root, padding=10)
70
- > frame1.grid(sticky=(N, W, S, E))
75
+ frame1.grid(sticky=(N, W, S, E))
71
- > frame1.columnconfigure(0, weight=1);
76
+ frame1.columnconfigure(0, weight=1);
72
- > frame1.rowconfigure(0, weight=1);
77
+ frame1.rowconfigure(0, weight=1);
73
78
 
74
- > pbval = IntVar(value=0)
75
- > pb = ttk.Progressbar(
76
- >> frame1,
79
+ # プログレスバー (確定的)
77
- >> orient=HORIZONTAL,
78
- >> variable=pbval,
79
- >> maximum=10,
80
- >> length=200,
81
- mode='determinate')
82
80
 
81
+ pbval = IntVar(value=0)
82
+ pb = ttk.Progressbar(
83
+ frame1,
84
+ orient=HORIZONTAL,
85
+ variable=pbval,
86
+ maximum=10,
87
+ length=200,
88
+ mode='determinate')
83
- > pb.grid(row=0, column=0, sticky=(N, E, S, W))
89
+ pb.grid(row=0, column=0, sticky=(N, E, S, W))
84
90
 
85
- > !進捗ボタン
91
+ # 進捗ボタン
86
92
  for i in range(10):
87
- >> button_click()
93
+ button_click()
88
94
  time.sleep(1)
89
95
 
90
- > root.mainloop()
96
+ root.mainloop()
97
+ ```
91
98
 
92
99
  ### 試したこと
93
100