Appdesigner 使用時のパスの設定

6 views (last 30 days)
lattice
lattice on 4 Nov 2019
Edited: lattice on 5 Nov 2019
長年 ui*** を使って継ぎ足して作ってきた GUI を AppDesigner (R2019a) に移行中です.
だいたい動くようになったのですが,python のコードを呼ぶコールバックを使用すると「内部的な問題があるため閉じる必要があります」と表示され MATLAB が落ちます.
python のコードを呼ぶための関数mファイルをmatlab本体で直接叩くのは問題ありません.しかも一度,本体で python が機能した後,AppDesigner を起動してGUIからコールバックを呼ぶと機能しているような気がします.
なんとなく,PATH の設定に問題があるような印象もあるのですが,いまいちわかりません.
現状では startupFcn の中で 必要な関数の入っている場所を addpath しています.python の path は コールバックで使用している関数内で下記のように設定しているのですが
mypath = "/Path/to/Python_Mymodules/";
pypath = py.sys.path;
if count(pypath, mypath) == 0
insert(pypath, int32(0), mypath);
end
これも startuoFcn に入れるべきでしょうか?
  1 Comment
lattice
lattice on 5 Nov 2019
Edited: lattice on 5 Nov 2019
ひとまず .mlapp ファイル内の startupFcn に python path の設定を入れると動いているように思えます.
https://jp.mathworks.com/help/matlab/app-designer.html のページのアプリの作成例も大変役に立つのですが,たくさんボタンや plot を並べた GUI を作る場合,全部のコードを mlapp ファイルに入れるのは,扱いにくいので,外部ファイルを参照する場合のファイルの置き方や,そのときのパスの設定方法などが App Designer の公式の説明ページにあると嬉しいです.

Sign in to comment.

Answers (0)

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!