注:左上隅にアイコンを追加する方法
は、記事の最後にあります。元の記事は次のとおりです。
今日やりたいのは簡単な電子辞書です。効果は次のとおりです。
参考記事:独自の電子辞書が必要ですか?MATLABを使用して電子辞書を作成するためのチュートリアル
目次
1アプリの作成
ゼロファンデーションなので。。。。まず、APPデザイナを開く方法から始める必要があり
ます。新しいアプリプログラム(mlappファイル拡張子)を作成する場合は、新しい→作成するアプリを作成できます(すでにmlappファイルが作成されている場合は、ファイルをダブルクリックして):
、
その後、我々はファイルを作成するために、新しい空白のAppを作成することを選択した後。
ファイル名を指定して実行]をクリックし、アプリ名はここで変更することができます:
2コントロールの作成とプロパティの設定
2.1背景
コンポーネントマネージャーでコンポーネントをクリックしてプロパティを設定します。
右側のプロパティを編集すると、中央にコードが自動的に生成され、それに応じて左側のアプリの表示ボックスが変わります
。このアプリの場合、UIfigureは次のようになります。次のように変更されました。
- 背景色を変更する(色)
- 初期位置を変更する(位置)
- アプリのサイズは自由に調整できません(サイズ変更)
- アプリインターフェースの左上隅にある名前を変更します(名前)
2.2タグ(辞書の説明)
ドラッグして他のコンポーネントを作成
します。使用時にテキスト領域を編集する必要がないため、タスクを完了するために使用できるのはラベルのみです。
ドラッグアンドドロップして位置とサイズを変更するか、属性修飾子を使用して入力できます。値はその位置とサイズを変更しますが、位置を除いて、変更する必要がある最終的な属性は次のとおりです。
- ラベルテキスト(テキスト)
- テキスト中心(HorizontalAlognment)
- フォントサイズ(FontSize)
- テキストフォント(FontName)
- 太字のテキスト(FontWetght)
- テキストの色(FontColor)
2.3入力ボックスとクエリボタン
入力ボックスは編集可能なテキストボックスを使用し、左側のラベルはDeleteで削除できます。
簡単にするために、ボタンと入力ボックスにはあまり多くの属性が設定されていません。
2.4クエリ結果ボックス
これはテキスト表示ボックスでもありますが、コピーの便宜のために、ラベルコンポーネントの代わりにテキスト領域のTextAreaコンポーネントが使用されます。
テキスト領域を作成した後、編集可能をキャンセルして、引き続きコピーできるようにすることをお勧めします。、ただし、APPの外部でコンテンツを変更することはできません。
単語検索の3つの原則
単語を検索すると、Youdao Dictionaryがリンクにジャンプすることがわかりました。リンクには検索された語彙が含まれています。
実際、別の語彙を検索すると、リンクは中央の小さなセクションのみを変更します。検索用語が異なる場合は、訪問するリンクは次のとおりです。
url = ['http://www.youdao.com/w/' search_word '/#keyfrom = dict2.top'];
search_wordは検索する語彙です。リンクを取得し
たら、urlread(url)を直接使用してHTMLページのコンテンツを取得します。取得の形式は次のとおりです。<div class = "trans-container"の
間にコンテンツが見つかりました
。 >と</ ul>それが必要なので、regexpi関数を使用してコンテンツのこの部分を見つけて抽出するだけで済みます。
コードのこの部分は次のとおりです(APPバージョンに変換されていません)。
function search_result=search(search_word)
url=['http://www.youdao.com/w/' search_word '/#keyfrom=dict2.top'];
complete_code=urlread(url);
trans=regexpi(complete_code,'<div class="trans-container">');
trans=trans(1);
if ~isempty(trans)
trans_end1=regexpi(complete_code,'</ul>');
trans_end1(trans_end1<trans)=[];
trans_end1=trans_end1(1);
temp_data=complete_code(trans:trans_end1-1);
delete_pos=regexpi(temp_data,'<li>');
delete_pos=delete_pos(1);
temp_data(1:delete_pos+3)=[];
control=1;
while(control)
control=0;
delete_li_pos=regexpi(temp_data,'<li>');
if ~isempty(delete_li_pos)
delete_li_pos=delete_li_pos(1);
temp_data(delete_li_pos:delete_li_pos+3)=[];
end
delete_li_pos=regexpi(temp_data,'<li>');
if ~isempty(delete_li_pos)
control=1;
end
end
control=1;
while(control)
control=0;
delete_li_pos=regexpi(temp_data,'</li>');
if ~isempty(delete_li_pos)
delete_li_pos=delete_li_pos(1);
temp_data(delete_li_pos:delete_li_pos+4)=[];
end
delete_li_pos=regexpi(temp_data,'</li>');
if ~isempty(delete_li_pos)
control=1;
end
end
search_result=temp_data;
end
end
4ボタンのコールバック
ボタンを押すだけで入力ボックスのコンテンツをクエリしたいので、クエリボタンにコールバック関数を追加する必要があります。
コールバック関数では、最初に入力ボックスのテキストを取得する必要があります。
単語クエリをコピーします。コードの一部であり、結果を[結果]ボックスに表示します。
コード部分が完成しました!
################################################## ################################################## ######################################
5APPのパッケージ化とインストール
ここをクリックしてパッケージングインターフェイスに入ります。
新しく書き込んだmlappファイルをメインファイルとして選択し、名前を変更します。インストール中
に図に示すように、アイコンの下に名前が表示されます。
ここで回転し続ける場合は、さらにいくつかクリックします。ただし
、今回のプログラムでは、自分で作成した他の関数や画像を呼び出さなかったため、共有リソースやヘルプファイルに入力する必要はありません。
5.1インストールパッケージカバー
インストールパッケージのカバーは右側で選択できます(選択されているかどうかは関係ありません)。
たとえば、カラーエクストラクタインストールパッケージのカバーは次のようになります。
5.2説明
入力された説明は、次の場所に表示されます。
5.3アイコン
ソフトウェア表示アイコンはここで変更でき
ます:自分で作成したいくつかのアイコン:
上記のプロパティを設定したら、[パッケージ]をクリックしてパッケージ化を開始できます。mlappinstallファイルが生成されると、パッケージ化は終了します。
5.4APPのインストール
mlappinstallを選択すると、次のようにアプリをインストールでき
ます。インストールの効果は次のとおりです。
インストールが完了したら、アイコンをクリックして直接使用できます。現在、アプリのソースファイルを使用することはできません。パスを指定しないと、エラーが発生します。
現在のファイルのクリップを変更して解決できます。
また、
APPデザイナーの魔法の操作についてもっと知りたい場合は、以下の記事を読むことができます。
この記事に示されているmlappとインストールパッケージファイル:https://download.csdn.net/download/slandarer/15565335
もう1つ:
左上隅にアイコンを追加する方法左上隅にアイコンを追加するには、
- まず、ico形式の画像を準備します。ブラウザでico形式に変換する画像をたくさん見つけることができます。
- mlappファイルと同じフォルダにico形式の画像を配置します
- mlappファイルのstartupFcnコールバックを作成します(startupFcnコールバックの作成方法がわからない場合は、開始に関する私のブログを読むことができます)
- startupFcnに次のコードを入力します(コードに表示されている場所の画像名とuifigure名を変更します。
%% 更改APP Designer LOGO图标
warning('off');
% 获取当前工程绝对路径(含工程名)
icopath=mfilename('fullpath');
% 查找最后一个斜杆的位置
i=findstr(icopath,'\');
% 去除工程文件名,得到路径
icopath=icopath(1:i(end));
% 加入logo图标文件名
icopath = [icopath,'这里写上ico文件的名字'];
rez = [];
while ~strcmp(rez,icopath)
try
% 获取webwindow句柄
win = struct(struct(struct(struct(app).这里写上UIfigure的名字).Controller).PlatformHost).CEF;
% 指定LOGO文件路径
win.Icon=icopath;
rez = win.Icon;
catch
% 给图形(网页)更多时间加载
pause(1);
end
end
このようにして、左上隅のアイコンを追加できます。
コードのこの部分は、Matlab App Designerから取得されます。左上隅のmatlabアイコンを独自のロゴに変更するにはどうすればよいですか?問題の説明の下でのAmygseの返信