2019年2月26日火曜日

Python、マルチスレッド 2


このやり方でマルチスレッド自体はうまく動いてるようだ
PCのシステムモニタで見てもpythonは二つになってる(・∀・)ノ
しかし、どうもうまくいかない
本体は固まってはいないけど、アウトプットの更新がやはりリアルタイムにならない
変なのは、VSCodeから起動するとうまくいくけど、単独で起動するとうまくいかないこと

VSCodeのコンソールを見ると微妙にQTがエラーを吐いてる
QObject::connect: Cannot queue arguments of type 'Qstring・・・・
それはキュー出来ないよ????
ちょっと調べたらマルチスレッド系のエラーらしく解決方法がよくわからん
pythonではなくQTのえらーっぽい

もともと標準出力を受け取るとバイト型になってる
すぐprintしてしまえば、コンソールには
b'\r\n0'
みたいに表示してくれるけど、直接QTのテキストwidgetに入れるとstringにしてくれってエラーになる
なので、.decode() でutf-8に変換してからテキストwidgetに送ってる
変換の仕方が悪いのか、そもそもthread間のやりとりが難しいのか????

もう少し調べるか?
スクリプトでここまで出来れば十分かもしれないが・・・( ̄― ̄?)

0 件のコメント:

コメントを投稿