こんにちは。でめきんです。
今回は、私が作成したプログラムを後輩に与えた時、後輩のパソコンではマウスコントロールを使って画像を切り替えることができなかったときの事を書きます。
まさか、そんなことはないでしょ~。
後輩から
「先輩、マウスホイールを回しても画像が切り替わらないんです」
なんて言われて、
「何を言っているの。俺のパソコンではきちんと動いているよ。」
コードは、メールにて送っており、どこも変更していないとのこと。
「だったら、エラーコードは?」
「エラーも出ていません」
なんで~~。その時は、学会も近かったのでとりあえず、複数の画像を読み込まないように変更をかけて何とか凌ぎました。
学会終了後は、そのまま時が過ぎて何事もなかったかのように時が過ぎていきました。
あれ?ほんとだ動かない
で、最近新しいプログラムを作成し自分のパソコンから職場のパソコンに移植しました。
あれ??マウスホイールを回しても画像が変わらない。
matplotlibの拡大縮小のボタンをクリックしてからマウスホイールを回して、クリックすると画像が切り替わる。なんで~~~。
とりあえず、動くは動くけど遅いし手間がかかる~~~。
原因が判明!!
原因は、matplotlibのバックエンドなるもの。
確認方法は以下の一文をコードを書き込みバックエンドを確認
print(matplotlib.get_backend())
今回は、動かないPCでは ”QtAgg” でした。
なので、
import文を記載しているところに
matplotlib.use(‘TkAgg’)
と記載することで解決しました。
対応策としては、matplotlibの設定ファイルを変更することでも対応できるらしいのですが、
やはり明示的に記載しておく方が間違いないかなと思います。
なお、詳細は以下のサイトにありますので、興味ある方はご覧になってください。