質問編集履歴

2

自身で模索した内容を追記。

2021/06/03 17:14

投稿

Lups20
Lups20

スコア2

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- そして、ウィンドウの表示自体は
45
+ ウィンドウの表示自体は
46
46
 
47
47
 
48
48
 
@@ -60,7 +60,7 @@
60
60
 
61
61
  ```
62
62
 
63
- などで表示できるのは分かるのですが、当然ながらこれをデータ読み込み前に書いてしまうとMainLoopが閉じるまで処理が進みません。
63
+ などでできるのは分かるのですが、当然ながらこれをデータ読み込み前に書いてしまうとMainLoopが閉じるまで処理が進みません。
64
64
 
65
65
  Messsageウィンドウでも同様で、OKボタンを押すまで結局先に進まないため、バックグラウンドで処理が進みません。。
66
66
 
@@ -70,11 +70,63 @@
70
70
 
71
71
 
72
72
 
73
+ ###自身で試したコード
74
+
75
+ ```
76
+
77
+ import wx
78
+
79
+ from time import sleep
80
+
81
+
82
+
83
+ app = wx.App()
84
+
85
+ frame = wx.Frame(None, wx.ID_ANY, 'Test', size=(300, 200))
86
+
87
+ frame.Show()
88
+
89
+
90
+
91
+ #####エクセルデータ読み込み#####
92
+
93
+ E1=pd.read_excel('E1.xlsx')
94
+
95
+ E2=pd.read_excel('E2.xlsx')
96
+
97
+
98
+
99
+ frame.Close()
100
+
101
+ frame.Destroy()
102
+
103
+ app.Destroy()
104
+
105
+
106
+
107
+ print('wait')
108
+
109
+ sleep(5)
110
+
111
+
112
+
113
+ ```
114
+
115
+
116
+
117
+ この場合、ウィンドウを起動直後に立ち上げることはできますが、閉じることはできません。
118
+
119
+ app.MainLoop()を記入しないと、Close()が機能しないのか閉じられません。
120
+
121
+ sleepで5秒経ってプログラム自体が終了すれば当然ウィンドウごとプログラムは閉じられますが、それでは意味がなく…プログラムが起動している状態でウィンドウの表示と処理完了後に閉じる操作をするにはどうするのが良いのでしょうか。
122
+
123
+
124
+
73
125
 
74
126
 
75
127
  ##まとめ
76
128
 
77
- main.pyを実行した直後に「読み込み中」のウィンドウを表示させ、読み込みが終わったらそのウィンドウを閉じる。
129
+ main.pyを実行した直後に「読み込み中」のウィンドウを表示させ、読み込みが終わったらそのウィンドウを閉じる。(プログラムは稼働継続)
78
130
 
79
131
  ということがやりたいことになります。
80
132
 

1

「複数ウィンドウで表現できるのかもしれないが…」という表現が、複数ウィンドウでやりたいという誤解を招いてしまったため削除いたしました。

2021/06/03 17:14

投稿

Lups20
Lups20

スコア2

test CHANGED
File without changes
test CHANGED
@@ -66,13 +66,17 @@
66
66
 
67
67
 
68
68
 
69
+ 何かのソフトを立ち上げる際に、待機ウィンドウがぽっと出てきて終わったら本ウィンドウが立ち上がる。というソフトを良く見かけるため、不可能ではないとは思うのですが、なかなか似たような疑問や方法を見つけられず躓いております。
69
70
 
70
71
 
71
- ### 考えたこと
72
72
 
73
- MainLoop()とデータ読み込みを同じmainに入れるのではなく、Mainloop()でウィンドウを開いた際に、「読み込み中」を表示する子ウィンドウを発生させて、その後データを読み込んで終わったら子ウィンドウを閉じる。という方法も考えましたが、
74
73
 
74
+
75
+ ##まとめ
76
+
75
- 何かのソフト立ち上げる際、待機ウィンドウがぽっと出てきて終わったらウィンドウが立ち上がる。というソフト良く見かけため、わざわざこのようなことをする必要はないのではないかと思っていますが、その方法が見つからず躓いております。
77
+ main.py実行した直後「読み込み中」のウィンドウを表示させ、読み込みが終わったらそのウィンドウを閉じる。
78
+
79
+ ということがやりたいことになります。
76
80
 
77
81
 
78
82