プログラミング初心者です。初めてデスクトップアプリを作ります。
pandasのdataframeとwxpythonで、csvファイルから読み込む数値によって、ウィンドウに出力される色が変わるプログラムを作っています。
timeモジュールのsleep関数を使って、数値を読み込んで、色が変わる時間の間隔を開けるようにしています。
そのsleep関数を書いたあと、ウィンドウが開かなくなってしまいました。
Dockにはpythonと書かれたアプリが新たに表示されますが、右クリックすると、”アプリケーションが応答しません”と表示されます。
pythonアプリケーションを終了すると、ターミナルには以下のように表示されます。
/Users/~~~~/Applications/anaconda3/bin/pythonw: line 3: 31903 Terminated: 15 /Users/~~~~/Applications/anaconda3/python.app/Contents/MacOS/python "$@"
pythonのソースコードはこちらになります。
おそらく問題になったと思われる、sleep関数は後半にあります。
python
1import wx 2import os 3import numpy as np 4import pandas as pd 5from time import sleep 6 7#データが格納されている作業ディレクトリまでパス指定 8os.chdir('/Users/~~~~/Desktop/') 9 10#アプリのフレームを作る 11application = wx.App() 12frame = wx.Frame(None, wx.ID_ANY, u"集中メーター", size=(300,300)) 13frame.SetBackgroundColour("#000000") 14panel = wx.Panel(frame, wx.ID_ANY, size=(300,300)) 15frame.Show() 16 17#.csvを読み込む 18df = pd.read_csv("~~~~.csv", delimiter=',', index_col=None, header=0) 19 20count = 0 21for i in range(20): 22 colour = df.ix[i,2] 23 if 0 <= colour < 30: 24 panel.SetBackgroundColour("#FF0000") 25 elif 30 <= colour < 90: 26 panel.SetBackgroundColour("#00FF00") 27 else: 28 panel.SetBackgroundColour("#0000FF") 29 sleep(5) 30 count += 1 31 32application.MainLoop()
ターミナルのメッセージは何を表しているのでしょうか?
OSはMac10.12です。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/16 13:56