質問編集履歴

14

更新

2023/03/10 04:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ### 該当のソースコード
20
20
 
21
- ``python
21
+ ```python
22
22
  import PySimpleGUI as sg
23
23
  sg.theme("DarkAmber")
24
24
 

13

更新

2023/03/10 04:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -28,9 +28,6 @@
28
28
  #2つ目のウィンドウの要素の準備
29
29
 
30
30
  #レイアウト
31
-
32
-
33
- # 1つ目のウィンドウのレイアウト
34
31
  layout1 = [
35
32
  [sg.Text(text1)],[sg.Text("メニュー")],
36
33
  [sg.Checkbox("カレー420円",key="-menu1-")],
@@ -50,7 +47,6 @@
50
47
  window2 = sg.Window('確認画面', layout2, finalize=True, size=(300,250))
51
48
  window2.hide() # 最初はwindow2を非表示にする
52
49
 
53
- # 3つ目のウィンドウのレイアウト
54
50
  layout3 = [
55
51
  [sg.Text('人数確認')],
56
52
  [sg.Button('一人',key= '-SKIP1-'),sg.T(" "),sg.Button('複数人',key= '-NEXT-')],
@@ -60,7 +56,6 @@
60
56
  window3 = sg.Window('人数確認', layout3, finalize=True, size=(300,250))
61
57
  window3.hide() # 最初はwindow3を非表示にする
62
58
 
63
- # 4つ目のウィンドウのレイアウト
64
59
  layout4 = [
65
60
  [sg.T("人数を入力してください")],
66
61
  [sg.T("金額"),sg.T("",key='act')],
@@ -71,7 +66,6 @@
71
66
  window4 = sg.Window('お会計', layout4, finalize=True, size=(300,250))
72
67
  window4.hide() # 最初はwindow4を非表示にする
73
68
 
74
- # 5つ目のウィンドウのレイアウト
75
69
  layout5 = [
76
70
  [sg.T("合計で")],[sg.T("0",key='act')],[sg.T("円の支払いが完了しました。")],
77
71
  [sg.T("ありがとうございました。")],

12

すべて変更

2023/03/10 04:47

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,154 +1,148 @@
1
- ---
2
- 学校にあった食券販売機みたいなものをPySimpleGUIチェックボックス形式にして作ってみたいのですが、画面転移させる時に5画面の処理はできたのですがここからどうやってチェックボックスがTrueのものだけ料金を加算するようにできるかがわかりません。なんとかなりませんか?
3
- - 画面1でメニュー表示(チェックボックス形式)
4
- - メニューはカレー420円、ラーメン450円、うどん400円、蕎麦400円、それぞれ大盛りはプラス70円
5
- - 画面2で一度注文の確認を表示てから会計画面に行く
1
+ ### 実現たいこと
6
- - 画面3で人数の確認(1人だったらそのまま会計へ、複数だったら割り勘をさせる。割り勘のためのGUIはもう作成済み)
7
2
 
3
+ お会計の割り勘機能付きver機能を動かす
4
+
5
+ ### 前提
6
+
8
- GUIツールはややこしかったのでPySimpleGUIってます。よろしくお願ます。
7
+ pythonpysimplegui会計機を作っています。
8
+ 割り勘の機能を実装中に以下のエラーメッセージが発生しました。
9
+
10
+ ### 発生している問題・エラーメッセージ
11
+
12
+ ```
13
+ raceback (most recent call last):
14
+ File "E:\割り勘機能付きお会計計算機(割り勘機能バグ利中).py", line 112, in <module>
15
+ txt = "1人あたり" + str(A / B) + "円となります。"
16
+ TypeError: unsupported operand type(s) for /: 'int' and 'str'
17
+ ```
18
+
19
+ ### 該当のソースコード
20
+
21
+ ``python
22
+ import PySimpleGUI as sg
23
+ sg.theme("DarkAmber")
24
+
25
+ #要素の準備
26
+ #1つ目のウィンドウの要素の準備
27
+ text1 = "注文を選択"
28
+ #2つ目のウィンドウの要素の準備
29
+
30
+ #レイアウト
9
31
 
10
32
 
11
- ```
12
- import PySimpleGUI as sg
13
- #要素の準備
14
- #1つ目のウィンドウの要素の準備
15
- text1 = "注文を選択"
16
- #2つ目のウィンドウの要素の準備
17
- menu = {
18
- '-menu1-': 'カレー',
19
- '-menu2-': 'ラーメン',
20
- '-menu3-': 'うどん',
21
- '-menu4-':'蕎麦'
22
- }
23
-
24
-
25
- #レイアウト
26
-
27
-
28
- # 1つ目のウィンドウのレイアウト
33
+ # 1つ目のウィンドウのレイアウト
29
- layout1 = [
34
+ layout1 = [
30
- [sg.Text(text1)],
31
-
32
-
33
- [sg.Text("メニュー")],
35
+ [sg.Text(text1)],[sg.Text("メニュー")],
34
- [sg.Checkbox("カレー420円",key="-menu1-")],
36
+ [sg.Checkbox("カレー420円",key="-menu1-")],
35
-
36
- [sg.Checkbox("ラーメン450円",key="-menu2-")],
37
+ [sg.Checkbox("ラーメン450円",key="-menu2-")],
37
-
38
- [sg.Checkbox("うどん400円",key="-menu3-")],
38
+ [sg.Checkbox("うどん400円",key="-menu3-")],
39
-
40
-
41
- [sg.Checkbox("蕎麦400円",key="-menu4-")],
39
+ [sg.Checkbox("蕎麦400円",key="-menu4-")],
42
-
43
-
44
- [sg.Button("閉じる",key='-CLOSE-'), sg.Button("次へ",key='-NEXT-')]
40
+ [sg.Button("閉じる",key='-CLOSE-'), sg.Button("次へ",key='-NEXT-')]
45
-
46
-
47
- # 2つ目のウィンドウのレイアウト
48
- row1 = [
49
- txt = 'ご注文は'
50
- for key in menu.keys():
51
- if value[key] == True:
52
- if firstloop:
53
- txt = txt + menu[key]
54
- firstloop = False
55
- else:
56
- txt = txt + 'と' + menu[key]
57
-
58
-
59
- txt = txt + 'です。よろしいですか?'
60
- if firstloop:
61
- message = '何か選択してください'
62
- sg.popup(message)
63
- break
64
-
65
-
66
- elif event is None:
67
- break
68
-
69
-
70
-
71
- ]
41
+ ]
72
-
73
-
74
- row2 = [
75
- sg.Button("前へ",key= '-BACK-'),
76
- sg.Button("次へ"),
77
- ]
78
-
79
-
80
- layout2 = [
81
- row1,
82
- row2,
83
- ]
84
-
85
-
86
- # 3つ目のウィンドウのレイアウト
87
- layout3 = [[sg.Text('人数確認')],
88
- #←ここに割り勘の時の人数のやつを入れる
89
- [sg.Button('前へ'), sg.Button('次へ')]]
90
-
91
-
92
- # 4つ目のウィンドウのレイアウト
93
- layout4 = [[sg.Text('4つ目のウィンドウ')],
94
- [sg.Button('前へ'), sg.Button('次へ')]]
95
-
96
-
97
- # 5つ目のウィンドウのレイアウト
98
- layout5 = [[sg.Text('5つ目のウィンドウ')],
99
- [sg.Button('前へ'), sg.Button('閉じる')]]
100
-
101
-
102
- # ウィンドウの作成
103
- window1 = sg.Window('メニュー画面', layout1, finalize=True)
42
+ window1 = sg.Window('メニュー画面', layout1, finalize=True, size=(300,250))
104
- window2 = sg.Window('確認画面', layout2, finalize=True)
105
- window2.hide() # 最初はwindow2を非表示にする
106
- window3 = sg.Window('人数確認', layout3, finalize=True)
107
- window3.hide() # 最初はwindow3を非表示にする
108
- window4 = sg.Window('お会計', layout4, finalize=True)
109
- window4.hide() # 最初はwindow4を非表示にする
110
- window5 = sg.Window('会計完了', layout5, finalize=True)
111
- window5.hide() # 最初はwindow5を非表示にする
112
-
113
-
114
- while True:
115
- window, event, values = sg.read_all_windows() # イベントを待機
116
- print('イベント:',event,',値:',values)
117
- if event == sg.WIN_CLOSED or event == '-CLOSE-':
118
- break
119
- elif event == '-NEXT-' and window == window1:
120
- window1.hide()
121
- window2.un_hide()
122
- elif event == '-BACK-' and window == window2:
123
- window2.hide()
124
- window1.un_hide()
125
- elif event == '-NEXT-' and window == window2:
126
- window2.hide()
127
- window3.un_hide()
128
- elif event == '-BACK-' and window == window3:
129
- window3.hide()
130
- window2.un_hide()
131
- elif event == '-NEXT-' and window == window3:
132
- window3.hide()
133
- window4.un_hide()
134
- elif event == '-BACK-' and window == window4:
135
- window4.hide()
136
- window3.un_hide()
137
- elif event == '-NEXT-' and window == window4:
138
- window4.hide()
139
- window5.un_hide()
140
- elif event == '-BACK-' and window == window5:
141
- window5.hide()
142
- window4.un_hide()
143
-
144
- ```(Python)
145
43
 
146
44
 
45
+ layout2 = [
46
+ [sg.T("合計で")],[sg.T("",key='act')],[sg.T("円となります。")],
47
+ [sg.T("よろしいですか?")],
48
+ [sg.Button("前へ",key= '-BACK-'),sg.T(" "),sg.Button("次へ",key='-NEXT-')],
49
+ ]
50
+ window2 = sg.Window('確認画面', layout2, finalize=True, size=(300,250))
51
+ window2.hide() # 最初はwindow2を非表示にする
52
+
53
+ # 3つ目のウィンドウのレイアウト
54
+ layout3 = [
55
+ [sg.Text('人数確認')],
56
+ [sg.Button('一人',key= '-SKIP1-'),sg.T(" "),sg.Button('複数人',key= '-NEXT-')],
57
+ [sg.T(" ")],
58
+ [sg.Button('前へ',key= '-BACK-')]
59
+ ]
60
+ window3 = sg.Window('人数確認', layout3, finalize=True, size=(300,250))
61
+ window3.hide() # 最初はwindow3を非表示にする
62
+
63
+ # 4つ目のウィンドウのレイアウト
64
+ layout4 = [
65
+ [sg.T("人数を入力してください")],
66
+ [sg.T("金額"),sg.T("",key='act')],
67
+ [sg.T("人数"),sg.I("1", k='intB')],
68
+ [sg.Text('割り勘')],
69
+ [sg.Button('前へ',key= '-BACK-'), sg.Button('次へ',key='-NEXT-')]
70
+ ]
71
+ window4 = sg.Window('お会計', layout4, finalize=True, size=(300,250))
72
+ window4.hide() # 最初はwindow4を非表示にする
73
+
74
+ # 5つ目のウィンドウのレイアウト
75
+ layout5 = [
76
+ [sg.T("合計で")],[sg.T("0",key='act')],[sg.T("円の支払いが完了しました。")],
77
+ [sg.T("ありがとうございました。")],
147
- 毎度毎度不備ばかりですみませんでした。https://qiita.com/tako_wasabi/questions/0dbcdc232f8c73ad7dec
78
+ [sg.Button('前へ',key= '-BACK-'), sg.Button('閉じる',key='-CLOSE-')],
148
- 出来だけ早く多くの意見を得るためにこちらにも質問を投稿させていただいています。
79
+ [sg.T("閉じ操作ができていませんが一応閉じ判定になっています。")],
80
+ ]
149
- 2つ目のウィンドウのレイアウト」が動かないコードだというご指摘がありましたがそこも含めて調べながら頑張った結果です。いくら調べても料金を選択したものに対応させるものに類似するものがなかったため未完成品を提出せざるを得ませんでした。
81
+ window5 = sg.Window('会計完了', layout5, finalize=True, size=(500,250))
82
+ window5.hide() # 最初はwindow5を非表示にする
150
83
 
151
84
 
85
+ while True:
86
+ window, event, values = sg.read_all_windows() # イベントを待機
87
+ print('イベント:',event,',値:',values)
88
+ if event == None or sg.WIN_CLOSED or event == '-CLOSE-':
89
+ break
90
+ elif event == '-NEXT-' and window == window1:
91
+ window1.hide()
92
+ window2.un_hide()
93
+ i1 = 420
94
+ i2 = 450
95
+ i3 = 400
96
+ i4 = 400
97
+ total = 0
98
+ if values['-menu1-'] == True:
99
+ total += i1
100
+ if values['-menu2-'] == True:
101
+ total += i2
102
+ if values['-menu3-'] == True:
103
+ total += i3
104
+ if values['-menu4-'] == True:
105
+ total += i4
106
+ print(total)
107
+ window2['act'].update(total)
108
+ window4['act'].update(total)
109
+ window5['act'].update(total)
110
+ elif event == '-BACK-' and window == window2:
111
+ window2.hide()
112
+ window1.un_hide()
113
+ elif event == '-NEXT-' and window == window2:
114
+ window2.hide()
115
+ window3.un_hide()
116
+ elif event == '-BACK-' and window == window3:
117
+ window3.hide()
118
+ window2.un_hide()
119
+ elif event == '-NEXT-' and window == window3:
120
+ window3.hide()
121
+ window4.un_hide()
122
+ elif event == '-SKIP1-' and window == window3:
123
+ window3.hide()
124
+ window5.un_hide()
125
+ elif event == '-BACK-' and window == window4:
126
+ window4.hide()
127
+ window3.un_hide()
128
+ elif event == '-NEXT-' and window == window4:
129
+ window4.hide()
130
+ window5.un_hide()
131
+ A = float(total)
132
+ B = float('intB')
133
+ txt = "1人あたり" + str(A / B) + "円となります。"
134
+ window5["txt"].update(txt)
135
+ elif event == '-BACK-' and window == window5:
136
+ window5.hide()
137
+ window4.un_hide()
152
138
 
139
+ ```
153
140
 
154
-
141
+ ### 試したこと
142
+
143
+ 最初はfloatを使っていなかったのでこうすることで割り算を試みましたが失敗しました。
144
+ 調べながらやりましたがここだけはどうにもなりませんでした。sg.Iで指定された人数で、金額を割らせる処理方法がわかりません。教えてください。
145
+ ### 補足情報(FW/ツールのバージョンなど)
146
+ python3.10.4
147
+ pysimplegui縛り
148
+

11

訂正

2023/03/01 13:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -147,4 +147,8 @@
147
147
  毎度毎度不備ばかりですみませんでした。https://qiita.com/tako_wasabi/questions/0dbcdc232f8c73ad7dec
148
148
  出来るだけ早く多くの意見を得るためにこちらにも質問を投稿させていただいています。
149
149
  「2つ目のウィンドウのレイアウト」が動かないコードだというご指摘がありましたがそこも含めて調べながら頑張った結果です。いくら調べても料金を選択したものに対応させるものに類似するものがなかったため未完成品を提出せざるを得ませんでした。
150
+
151
+
152
+
153
+
150
154
 

10

文字の位置

2023/03/01 13:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -144,9 +144,7 @@
144
144
  ```(Python)
145
145
 
146
146
 
147
- 毎度毎度不備ばかりですみませんでした。
148
-
149
- https://qiita.com/tako_wasabi/questions/0dbcdc232f8c73ad7dec
147
+ 毎度毎度不備ばかりですみませんでした。https://qiita.com/tako_wasabi/questions/0dbcdc232f8c73ad7dec
150
148
  出来るだけ早く多くの意見を得るためにこちらにも質問を投稿させていただいています。
151
149
  「2つ目のウィンドウのレイアウト」が動かないコードだというご指摘がありましたがそこも含めて調べながら頑張った結果です。いくら調べても料金を選択したものに対応させるものに類似するものがなかったため未完成品を提出せざるを得ませんでした。
152
150
 

9

対応

2023/03/01 13:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -147,6 +147,6 @@
147
147
  毎度毎度不備ばかりですみませんでした。
148
148
 
149
149
  https://qiita.com/tako_wasabi/questions/0dbcdc232f8c73ad7dec
150
- 出来るだけ多くの意見を得るためにこちらにも質問を投稿させていただいています。
150
+ 出来るだけ早く多くの意見を得るためにこちらにも質問を投稿させていただいています。
151
-
151
+ 「2つ目のウィンドウのレイアウト」が動かないコードだというご指摘がありましたがそこも含めて調べながら頑張った結果です。いくら調べても料金を選択したものに対応させるものに類似するものがなかったため未完成品を提出せざるを得ませんでした。
152
152
 

8

利用規約の対応

2023/03/01 13:01

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -145,4 +145,8 @@
145
145
 
146
146
 
147
147
  毎度毎度不備ばかりですみませんでした。
148
+
149
+ https://qiita.com/tako_wasabi/questions/0dbcdc232f8c73ad7dec
150
+ 出来るだけ多くの意見を得るためにこちらにも質問を投稿させていただいています。
151
+
148
152
 

7

変更

2023/03/01 05:04

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,9 +1,9 @@
1
1
  ---
2
- 学校にあった食券販売機みたいなものをPySimpleGUIチェックボックス形式にして作ってみたいのですが、画面転移させる時に3画面の処理はできたのですが5画面ぐいの処理が必要で、やってみたのですが全然動ない。エラーを見て頑張って修正してもボタン反応しなったで全然できません。なんとかなりませんか?
2
+ 学校にあった食券販売機みたいなものをPySimpleGUIチェックボックス形式にして作ってみたいのですが、画面転移させる時に5画面の処理はできたのですがここかどうやってチェックボックスがTrueものだけ料金を加算するようにきるかがかりません。なんとかなりませんか?
3
3
  - 画面1でメニュー表示(チェックボックス形式)
4
4
  - メニューはカレー420円、ラーメン450円、うどん400円、蕎麦400円、それぞれ大盛りはプラス70円
5
5
  - 画面2で一度注文の確認を表示してから会計画面に行く
6
- - 画面3で人数の確認(1人だったらそのまま会計へ、複数だったら割り勘をさせる。割り勘のためGUIはもう作成済み)
6
+ - 画面3で人数の確認(1人だったらそのまま会計へ、複数だったら割り勘をさせる。割り勘のためGUIはもう作成済み)
7
7
 
8
8
  他のGUIツールはややこしかったのでPySimpleGUIでやってます。よろしくお願いします。
9
9
 
@@ -144,7 +144,5 @@
144
144
  ```(Python)
145
145
 
146
146
 
147
-
148
- ここまではできたのですがここからどうやってチェックボックスがTrueのものだけ料金を加算するようにできるかがわかりません。
149
147
  毎度毎度不備ばかりですみませんでした。
150
148
 

6

修正

2023/03/01 05:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -5,8 +5,7 @@
5
5
  - 画面2で一度注文の確認を表示してから会計画面に行く
6
6
  - 画面3で人数の確認(1人だったらそのまま会計へ、複数だったら割り勘をさせる。割り勘のためGUIはもう作成済み)
7
7
 
8
- 他のGUIツールはややこしかったのでPySimpleGUIでやってます。できればそれに合わせて欲しいす。
8
+ 他のGUIツールはややこしかったのでPySimpleGUIでやってます。よろくお願します。
9
- Pythonは只今猛勉強中なので大変かと思いますが#で説明を入れてくれると助かります。どうかよろしくお願いします。
10
9
 
11
10
 
12
11
  ```

5

謝罪

2023/03/01 04:38

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -147,4 +147,5 @@
147
147
 
148
148
 
149
149
  ここまではできたのですがここからどうやってチェックボックスがTrueのものだけ料金を加算するようにできるかがわかりません。
150
+ 毎度毎度不備ばかりですみませんでした。
150
151
 

4

言語名の記入

2023/03/01 04:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -142,7 +142,7 @@
142
142
  window5.hide()
143
143
  window4.un_hide()
144
144
 
145
- ```
145
+ ```(Python)
146
146
 
147
147
 
148
148
 

3

書き方の変更

2023/03/01 04:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -9,14 +9,10 @@
9
9
  Pythonは只今猛勉強中なので大変かと思いますが#で説明を入れてくれると助かります。どうかよろしくお願いします。
10
10
 
11
11
 
12
-
12
+ ```
13
13
  import PySimpleGUI as sg
14
-
15
-
16
- #要素の準備
14
+ #要素の準備
17
-
18
-
19
- #1つ目のウィンドウの要素の準備
15
+ #1つ目のウィンドウの要素の準備
20
16
  text1 = "注文を選択"
21
17
  #2つ目のウィンドウの要素の準備
22
18
  menu = {
@@ -146,6 +142,8 @@
146
142
  window5.hide()
147
143
  window4.un_hide()
148
144
 
145
+ ```
146
+
149
147
 
150
148
 
151
149
  ここまではできたのですがここからどうやってチェックボックスがTrueのものだけ料金を加算するようにできるかがわかりません。

2

質問内容の訂正

2023/03/01 03:42

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,146 @@
7
7
 
8
8
  他のGUIツールはややこしかったのでPySimpleGUIでやってます。できればそれに合わせて欲しいです。
9
9
  Pythonは只今猛勉強中なので大変かと思いますが#で説明を入れてくれると助かります。どうかよろしくお願いします。
10
+
11
+
12
+
13
+ import PySimpleGUI as sg
14
+
15
+
16
+ #要素の準備
17
+
18
+
19
+ #1つ目のウィンドウの要素の準備
20
+ text1 = "注文を選択"
21
+ #2つ目のウィンドウの要素の準備
22
+ menu = {
23
+ '-menu1-': 'カレー',
24
+ '-menu2-': 'ラーメン',
25
+ '-menu3-': 'うどん',
26
+ '-menu4-':'蕎麦'
27
+ }
28
+
29
+
30
+ #レイアウト
31
+
32
+
33
+ # 1つ目のウィンドウのレイアウト
34
+ layout1 = [
35
+ [sg.Text(text1)],
36
+
37
+
38
+ [sg.Text("メニュー")],
39
+ [sg.Checkbox("カレー420円",key="-menu1-")],
40
+
41
+ [sg.Checkbox("ラーメン450円",key="-menu2-")],
42
+
43
+ [sg.Checkbox("うどん400円",key="-menu3-")],
44
+
45
+
46
+ [sg.Checkbox("蕎麦400円",key="-menu4-")],
47
+
48
+
49
+ [sg.Button("閉じる",key='-CLOSE-'), sg.Button("次へ",key='-NEXT-')]
50
+
51
+
52
+ # 2つ目のウィンドウのレイアウト
53
+ row1 = [
54
+ txt = 'ご注文は'
55
+ for key in menu.keys():
56
+ if value[key] == True:
57
+ if firstloop:
58
+ txt = txt + menu[key]
59
+ firstloop = False
60
+ else:
61
+ txt = txt + 'と' + menu[key]
62
+
63
+
64
+ txt = txt + 'です。よろしいですか?'
65
+ if firstloop:
66
+ message = '何か選択してください'
67
+ sg.popup(message)
68
+ break
69
+
70
+
71
+ elif event is None:
72
+ break
73
+
74
+
75
+
76
+ ]
77
+
78
+
79
+ row2 = [
80
+ sg.Button("前へ",key= '-BACK-'),
81
+ sg.Button("次へ"),
82
+ ]
83
+
84
+
85
+ layout2 = [
86
+ row1,
87
+ row2,
88
+ ]
89
+
90
+
91
+ # 3つ目のウィンドウのレイアウト
92
+ layout3 = [[sg.Text('人数確認')],
93
+ #←ここに割り勘の時の人数のやつを入れる
94
+ [sg.Button('前へ'), sg.Button('次へ')]]
95
+
96
+
97
+ # 4つ目のウィンドウのレイアウト
98
+ layout4 = [[sg.Text('4つ目のウィンドウ')],
99
+ [sg.Button('前へ'), sg.Button('次へ')]]
100
+
101
+
102
+ # 5つ目のウィンドウのレイアウト
103
+ layout5 = [[sg.Text('5つ目のウィンドウ')],
104
+ [sg.Button('前へ'), sg.Button('閉じる')]]
105
+
106
+
107
+ # ウィンドウの作成
108
+ window1 = sg.Window('メニュー画面', layout1, finalize=True)
109
+ window2 = sg.Window('確認画面', layout2, finalize=True)
110
+ window2.hide() # 最初はwindow2を非表示にする
111
+ window3 = sg.Window('人数確認', layout3, finalize=True)
112
+ window3.hide() # 最初はwindow3を非表示にする
113
+ window4 = sg.Window('お会計', layout4, finalize=True)
114
+ window4.hide() # 最初はwindow4を非表示にする
115
+ window5 = sg.Window('会計完了', layout5, finalize=True)
116
+ window5.hide() # 最初はwindow5を非表示にする
117
+
118
+
119
+ while True:
120
+ window, event, values = sg.read_all_windows() # イベントを待機
121
+ print('イベント:',event,',値:',values)
122
+ if event == sg.WIN_CLOSED or event == '-CLOSE-':
123
+ break
124
+ elif event == '-NEXT-' and window == window1:
125
+ window1.hide()
126
+ window2.un_hide()
127
+ elif event == '-BACK-' and window == window2:
128
+ window2.hide()
129
+ window1.un_hide()
130
+ elif event == '-NEXT-' and window == window2:
131
+ window2.hide()
132
+ window3.un_hide()
133
+ elif event == '-BACK-' and window == window3:
134
+ window3.hide()
135
+ window2.un_hide()
136
+ elif event == '-NEXT-' and window == window3:
137
+ window3.hide()
138
+ window4.un_hide()
139
+ elif event == '-BACK-' and window == window4:
140
+ window4.hide()
141
+ window3.un_hide()
142
+ elif event == '-NEXT-' and window == window4:
143
+ window4.hide()
144
+ window5.un_hide()
145
+ elif event == '-BACK-' and window == window5:
146
+ window5.hide()
147
+ window4.un_hide()
148
+
149
+
150
+
151
+ ここまではできたのですがここからどうやってチェックボックスがTrueのものだけ料金を加算するようにできるかがわかりません。
152
+

1

誤字訂正:もう勉強→猛勉強

2023/02/28 13:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,4 +6,4 @@
6
6
  - 画面3で人数の確認(1人だったらそのまま会計へ、複数だったら割り勘をさせる。割り勘のためGUIはもう作成済み)
7
7
 
8
8
  他のGUIツールはややこしかったのでPySimpleGUIでやってます。できればそれに合わせて欲しいです。
9
- Pythonは只今もう勉強中なので大変かと思いますが#で説明を入れてくれると助かります。どうかよろしくお願いします。
9
+ Pythonは只今勉強中なので大変かと思いますが#で説明を入れてくれると助かります。どうかよろしくお願いします。