###実現したいこと
最初は赤色のパネルで、2秒後に青色になり、「Finish」と表示されるようにしたいです。
しかしwxPythonでtime.sleep(2)
などの処理を実行すると、応答なしの状態になってしまいす。
(このソースコードでは2秒たってからウィンドウが開く)
この応答なしの状態を避けるために、どのようなことをすればよいでしょうか。
###ソースコード
Python
1import wx 2import time 3import threading 4import ctypes 5class MyFrame(wx.Frame): 6 def TimeSleep(self,value=0): 7 time.sleep(value) 8 self.OnStart() 9 def __init__(self): 10 wx.Frame.__init__(self,None,-1,"title") 11 self.panel = wx.Panel(self,-1) 12 self.panel.SetBackgroundColour("red") 13 self.Refresh() 14 self.TimeSleep(2) 15 def OnStart(self): 16 self.panel.SetBackgroundColour("blue") 17 lbl = wx.StaticText(self.panel,-1,"Finish") 18 txt = wx.TextCtrl(self.panel,-1,"aaa",pos=(0,20)) 19 self.Refresh() 20app = wx.App(False) 21f = MyFrame() 22f.Show(True) 23app.MainLoop() 24
###環境
Python 3.8
Windows10
64bit
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/18 12:06