1+GLCDC+DRW2D+emWin(Segger GUIミドルウェア) - renesas/rx72n-envision-kit GitHub Wiki
- 液晶ディスプレイを介した対話的なGUIアプリケーションの作成方法を紹介する
-
QE for Display[RX]を使用して下記のドライバやソフトウェアの組み込み/設定を行う
組み込み/設定方法はQE for Display[RX]のアプリケーションノート(R20AN0582xxxxxx)も参照のこと
- RX72Nマイコン周辺機能のグラフィックLCD コントローラ(GLCDC)や2D 描画エンジン(DRW2D)、 及び、SEGGER社のemWinソフトを使用し、液晶ディスプレイに文字や図形を表示する
- GUIデザインツールAppWizardを使用し、液晶ディスプレイに対話的なGUIを設置する
- 液晶ディスプレイへ表示させたボタンのタッチ操作によってLEDの点灯を制御する
-
QE for Display[RX]を使用して下記のドライバやソフトウェアの組み込み/設定を行う
- 必須
- RX72N Envision Kit × 1台
- USBケーブル(USB Micro-B --- USB Type A) × 1 本
- Windows PC × 1 台
- Windows PC にインストールするツール
- e2 studio 2020-07以降
- 初回起動時に時間がかかることがある
- CC-RX V3.02以降
- 初回起動時に時間がかかることがある
- e2 studio 2020-07以降
- Windows PC にインストールするツール
-
新規プロジェクト作成方法(ベアメタル)を完了すること
- 本稿では、新規プロジェクト作成方法(ベアメタル)で作成したLED0.1秒周期点滅プログラムに対し、以下の内容を追加する形で実装する
- QE for Displayを活用し、GLCDドライバ、DRW2Dドライバ、emWinを手軽に組み込み/設定
- AppWizardを使用してGUIを設置
- GUIを制御するコードを追加
- 本稿では、新規プロジェクト作成方法(ベアメタル)で作成したLED0.1秒周期点滅プログラムに対し、以下の内容を追加する形で実装する
- 最新のRX Driver Package(FITモジュール)を使用すること
- 初回のみ実施
- インストール方法に従ってQE for Displayをダウンロード/インストールする
-
DRW2D FITモジュール、及び、emWin FITモジュールをダウンロードし、FITモジュールの保存先フォルダに配置する
DRW2D FITモジュール、及び、emWin FITモジュールはRX Driver Package V1.26時点には同梱されていないため
- LCDに関連する回路を以下のとおり確認する
- RX72N Envision Kitには4.3インチWQVGA TFT-LCDが実装されている
- 出力データフォーマットはRGB565形式(パラレル16ビット)
- RGB565とは、RとBがそれぞれ5bit、Gが6bitの計16bit(65,536色)で色を表現する形式
- ちなみに、GがRやBに比べて1bit分大きい理由は、緑色が人間の目に最も反応しやすいため
- RGB565とは、RとBがそれぞれ5bit、Gが6bitの計16bit(65,536色)で色を表現する形式
- RGB565の場合、LCDにデータを出力する端子(LCD信号出力端子)はLCD_DATA15~LCD_DATA0の16bitバス
RX72N ハードウェアマニュアル(R01UH0824xxxxxx)の51.1.5章 (3)を参照
- LCD信号出力端子のそれぞれが出力する色を事前確認することが必要
-
GLCDCのB/R入れ替え機能を使用することでピクセル配列順序を切り替えることができる
RX72N ハードウェアマニュアル(R01UH0824xxxxxx)の51.1.5章 (3) パラレルRGB(565) フォーマットにおけるLCD信号のビット配置 を参照のこと)
LCDのData端子 R-G-Bのピクセル配列の場合 B-G-Rのピクセル配列の場合 LCD_DATA_11~LCD_DATA_15 Rのカラーデータ出力端子 Bのカラーデータ出力端子 LCD_DATA_0~LCD_DATA_4 Bのカラーデータ出力端子 Rのカラーデータ出力端子 -
B/R入れ替え機能を必要に応じて使用しない場合、本来意図どおりに発色されないので注意
- 例えば、RX65N(2MB) RSK+の場合、RX65N マニュアルとRSK+ユーザズマニュアル、TFTの回路図の情報を総合すると、R用のLCD信号出力端子がB用のTFT(HX8257-A)端子に、B用のLCD信号出力端子がR用のTFT端子につながっている(RX72N Envision Kitとは逆)
- この時、B/R入れ替え機能を使用しピクセル配列順序を切り替えて、発色を調整する必要がある
- 例えば、RX65N(2MB) RSK+の場合、RX65N マニュアルとRSK+ユーザズマニュアル、TFTの回路図の情報を総合すると、R用のLCD信号出力端子がB用のTFT(HX8257-A)端子に、B用のLCD信号出力端子がR用のTFT端子につながっている(RX72N Envision Kitとは逆)
-
- LCD信号出力端子のそれぞれが出力する色を事前確認することが必要
- その他、パネルクロック出力端子(LCD_CLK)や同期信号出力端子(LCD_TCON3~LCD_TCON0)を使用
RX72N ハードウェアマニュアル(R01UH0824xxxxxx)の51.1章 表51.2を参照
- 出力データフォーマットはRGB565形式(パラレル16ビット)
- 静電容量方式タッチコントローラ(FT5260)がRX72N Envision Kitに実装されている
- RX72NマイコンはI2Cシリアルインタフェースにて静電容量方式タッチコントローラとデータ通信を行い、
コントローラの動作を制御する
- プロジェクトにBDF
EnvisionRX72N
が適用されていることを確認する- スマート・コンフィグレータの使い方#ボード設定を参照
- 適用されていない場合、上記リンク先に対処法が記載
-
Renesas Views
->Renesas QE
->LCD メイン RX (QE)
を実行しQE for Displayを開く - QE for Displayの
プロジェクトの選択
のプルダウンメニューからQE for Displayを適用するプロジェクトrx72n_envision_kit
を選択する - 選択後、
評価ボード
がEnvisionRX72N (V.x.xx)
になることを確認する- プロジェクトにBDF
EnvisionRX72N
が適用されているため、プロジェクトの選択
でプロジェクトを選択した際に評価ボード
が自動で切り替わる
- プロジェクトにBDF
-
GUI描画ツールの選択
でemWinを使用する
を選択する
- LCDコントローラの設定方法を以下に記載する
- スマート・コンフィグレータ(SC)を使用してLCDコントローラ(GLCDC FITモジュール)をプロジェクトに導入する
-
LCD メイン RX (QE)
->LCDコントローラの導入
->導入済み
になっていることを確認する -
LCD メイン RX (QE)
->LCDの表示調整
->表示タイミング調整
LCDコントローラの設定を実施する- デフォルトの
タイミング設定
ではエラーが発生しているので、エラーを解消する-
リフレッシュレート[Hz]
と水平周波数[kHz]
がそれぞれ設定可能な値を満たし、かつ、差分
が0.0
になるように設定する(以下は例)-
PLL回路周波数[MHz]
:240
- PLL回路周波数をSCのクロック設定と同値に変更する
- ★将来改善★ SCのクロック設定から値を自動的に取得するように改善する見込み
- PLL回路周波数をSCのクロック設定と同値に変更する
-
パネルクロック周波数[MHz]
:10.000000
- パネルクロック周波数はPCLKA未満の値に設定する
-
HPW
:30
-
HBP
:54
-
HFP
:20
-
- QE for Displayを使用する場合、r_glcdc_rxに関するSCのコンポーネント設定は不要
- デフォルトの
- LCDコントローラの設定ファイルをQE for Displayから生成する
-
LCD メイン RX (QE)
->LCDの表示調整
->ファイル出力
を実行- デフォルトの出力先は
.\rx72n_envision_kit\src
直下である -
フォルダ指定
をチェックしてファイル出力
を実行すると、出力先を選択可能 - ただし、
.\rx72n_envision_kit\src\smc_gen
配下は避ける- 出力されたファイルがSCのコード生成によって削除される恐れがあるため
- デフォルトの出力先は
-
- 導入方法の詳細は
LCD メイン RX (QE)
->LCDコントローラの導入
->導入方法
を参照
- GUI描画ツールの設定方法を以下に記載する
- SCを使用してGUI描画ツール(emWin FITモジュール)をプロジェクトに導入する
-
LCD メイン RX (QE)
->GUI描画ツールの導入
->導入済み
になっていることを確認する - emWinの設定を実施する
-
フレームバッファ2アドレス
:0x00840000
- 本稿では新規プロジェクト作成方法からセクション設定を変更しないので、上記の値でよい
- ただし、このバッファアドレスがセクションのアドレスと重複している場合は、セクションのアドレスを変更する
-
GUIで使用する最大メモリサイズ
:81920
-
IICで使用するチャネル
:6
-
DRW2Dの使用
:使用する
- QE for Displayを使用する場合、r_emwin_rxに関するSCのコンポーネント設定は不要
-
- emWinの設定ファイルをQE for Displayから生成する
-
LCD メイン RX (QE)
->GUI描画ツールの初期設定
->ファイル出力
を実行- デフォルトの出力先は
.\rx72n_envision_kit\src
直下である -
フォルダ指定
をチェックしてファイル出力
を実行すると、出力先を選択可能 - ただし、
.\rx72n_envision_kit\src\smc_gen
配下は避ける- 出力されたファイルがSCのコード生成によって削除される恐れがあるため
- デフォルトの出力先は
-
- 導入方法の詳細は
LCD メイン RX (QE)
->GUI描画ツールの導入
->導入方法
を参照
- QE for Displayにて必要なコンポーネントは追加済みなので、操作不要
- QE for Displayでの設定にてカバーされないコンポーネントに対し、設定を施す
-
Heap size
:0x4000
- デフォルトで問題なし
- デフォルトで問題なし
- 無し
- QE for Displayにて設定するので操作不要
- デフォルトで問題なし
- QE for Displayにて設定するので操作不要
- RX72N マイコンは、1個の端子に複数機能が割り当たっているため、どの機能を使用するかの設定をソフトウェアにより施す必要がある
- RX72N Envision KitのBDFを使用している場合、すでに端子を設定済みであるため、作業不要
- 上記の設定をすべて完了後、SCのコード生成を実行する
- 初回のみ実施
-
LCD メイン RX (QE)
->GUIの作成
->設定
を押し、AppWizardの設定
ウィンドウを表示する -
AppWizardはインストールされていません
と表示されている場合、AppWizardインストールフォルダ
にインストールしたいファイルパスを入力 ->AppWizaradをインストールする
を押す - インストールウィザードが表示されるので、画面内容に従ってAppWizardをインストールする
-
AppWizardの設定
ウィンドウを閉じる
-
LCD メイン RX (QE)
->GUIの作成
->設定
を押し、AppWizardの設定
ウィンドウを表示する -
AppWizardはインストールされています
と表示されている場合、OK
を押す -
AppWizardはインストールされていません
と表示されている場合、以下のどちらかの対応を行う-
AppWizardインストールフォルダ
にAppWizardがインストールされているファイルパスを入力する ->AppWizardはインストールされています
に表示が変わればOK
を押す - AppWizardのインストールを実施する
-
-
LCD メイン RX (QE)
->GUIの作成
->GUI描画ツール起動
を押し、AppWizardを起動する - AppWizardの起動後、e2 studioのプロジェクトツリーから
./aw/Resource
と./aw/Source
が作成されることを確認する
- AppWizardの画面設計の基本的な流れは以下のとおり
-
Resource
(Text
,Fonts
,Images
,Variables
)を登録する - GUIオブジェクトを配置/設定する
-
Add objects
ペインから配置したいオブジェクトを選択する -
Hierarchic tree
ペインに選択したオブジェクトが追加されたことを確認する -
Hierarchic tree
ペインでオブジェクトの階層を変更する -
Hierarchic tree
ペインでオブジェクトの位置や大きさを変更する -
Properties
ペインでオブジェクトのプロパティを変更する
-
-
Interactions
ペインでオブジェクトのイベント及びイベントハンドラ(Slot)を登録する -
File
->Export & Save
を実行し、ソースコードを出力する
-
-
Hierarchic tree
のトップにはオブジェクトScreen
を必ず配置すること
-
Text リソースの登録方法に従って
ID_TEXT_LED_SWITCH_TXT
とID_TEXT_OFF_TXT
を作成する-
Id
:"ID_TEXT_LED_SWITCH_TXT"、English
:"LED Switch" -
Id
:"ID_TEXT_OFF_TXT"、English
:"OFF"
-
- まず最初にオブジェクト
Screen
を配置する
- 背景用にオブジェクト
Box
を画面一杯に配置する
- LEDのスイッチ用にオブジェクト
Switch
を配置する-
Add objects
->Switch
を選択する -
Hierarchic tree
でID_BOX_00
の下にオブジェクトSwitch
が追加されたことを確認する -
Editor
にオブジェクトSwitch
が追加されたことを確認する -
Editor
上のオブジェクトSwitch
の大きさを変更する-
Properties
->Size
:150
,50
-
-
Editor
上のオブジェクトSwitch
をドラッグアンドドロップし、画面の真ん中に移動させる-
Properties
->Position
:165
,111
-
-
Properties
を変更する-
Id
:"ID_SWITCH_00" -
Set Bitmaps
->BG-Left
:Left_80x30.png
->Select
-
Set Bitmaps
->BG-Right
:Right_80x30.png
->Select
-
Set Bitmaps
->BG-Disabled
:Disabled_80x30.png
->Select
-
Set Bitmaps
->Thumb-Left
:ThumbLeft_80x30.png
->Select
-
Set Bitmaps
->Thumb-Right
:ThumbRight_80x30.png
->Select
-
Set Bitmaps
->Thumb-Disabled
:Disabled_80x30.png
->Select
-
-
- スイッチの用途を示す文字用のオブジェクト
Text
を配置する-
Add objects
->Text
を選択する -
Hierarchic tree
でID_SWITCH_00
の下にオブジェクトText
が追加されたことを確認する -
Editor
にオブジェクトText
が追加されたことを確認する -
Editor
上のオブジェクトText
の大きさを変更する-
Properties
->Size
:150
,32
-
-
Editor
上のオブジェクトText
をドラッグアンドドロップし、
オブジェクトID_SWITCH_00
の真上に移動させる-
Properties
->Position
:165
,79
-
-
Properties
を変更する-
Id
:"ID_TEXT_LED_SWITCH" -
Set text color
:RGBA = (255, 255, 255, 255) ->OK
-
Set text alignment
:Center -
Set font
:NettoOT_24_Normal_EXT_AA4
->Select
-
-
- スイッチ状態に合わせてLED状態を示す文字用のオブジェクト
Text
を配置する-
Add objects
->Text
を選択する -
Hierarchic tree
でID_TEXT_LED_SWITCH
の下にオブジェクトText
が追加されたことを確認する -
Editor
にオブジェクトText
が追加されたことを確認する -
Editor
上のオブジェクトText
の大きさを変更する-
Properties
->Size
:150
,32
-
-
Editor
上のオブジェクトText
をドラッグアンドドロップし、
オブジェクトID_SWITCH_00
の真下に移動させる-
Properties
->Position
:165
,159
-
-
Properties
を変更する-
Id
:"ID_TEXT_LED_STATE" -
Set text alignment
:Center -
Set font
:NettoOT_24_Normal_EXT_AA4
->Select
-
-
- LEDの初期状態を示す文字用のオブジェクト
Text
を配置する-
Hierarchic tree
のID_TEXT_LED_STATE
を右クリックし、Copy
を選択する -
Hierarchic tree
で右クリックし、Paste
を選択する -
Hierarchic tree
でID_TEXT_LED_STATE
の下にオブジェクトID_TEXT_LED_COPY
が追加されたことを確認する -
Properties
を変更する-
Id
:"ID_TEXT_LED_STATE_INIT" -
Set text
:ID_TEXT_OFF_TXT
->Select
-
Set text color
:RGBA = (80, 80, 80, 255) ->OK
-
Set background color
:RGBA = (255, 255, 255, 255) ->OK
- 他のプロパティは
ID_TEXT_LED_STATE
と同じ
-
-
- スイッチ状態に合わせてLED状態の文字を表示させるためのイベントを登録する
- 初期値のスイッチ状態の文字を非表示させるためのイベントを登録する
-
Interactions
->+
を押す-
Emitter
(イベント発生元):ID_SWITCH_00
-
Signal
(イベント種類):VALUE_CHANGED
(値の変化のイベント) -
Job
(イベント発生によって連動するタスク):SETVIS
(オブジェクトの表示/非表示を設定) -
Receiver
(連動するタスクの宛先):ID_TEXT_LED_STATE_INIT
-
- ポップアップされる
Set interaction parameters
ウィンドウ ->Use custom defined value
を押す-
Set visibility
:Off
-
Slot
:ID_SCREEN_00__ID_SWITCH_00__WM_NOTIFICATION_VALUE_CHANGED__ID_TEXT_LED_STATE_INIT__APPW_JOB_SETVIS
-
Edit code
:編集しない
-
-
-
Editor
ペインの再生マークを押し、配置したオブジェクトのプレビューができる- 本稿では以下の状況をプレビューできればよい
- 初期状態で、画面真ん中にスイッチのトグルが左側にある
- 初期状態で、スイッチの真上に白色で"LED Switch"の表示がある
- 初期状態で、スイッチの真上に白色で"LED Switch"の文字表示がある
- 初期状態で、スイッチの真下に白色の四角があり、その中に灰色で"OFF"の文字表示がある
- スイッチをクリックすると、スイッチのトグルが右側に移動し、
スイッチ真下の四角と文字表示が消える- トグル移動後、スイッチ真下の四角と文字表示(
ID_TEXT_LED_STATE_INIT
)が消えるのは意図どおりの動作 - トグル移動後、
ID_TEXT_LED_STATE
はスイッチ真下に表示されているはずだが、文字表示はユーザソースコードで変化させるため、見た目上は何もない
- トグル移動後、スイッチ真下の四角と文字表示(
- スイッチをさらにクリックすると、スイッチのトグルが左側に移動する
- 本稿では以下の状況をプレビューできればよい
-
File
->Export & Save
を実行する -
./aw/Source
配下にソースコード(特に注目すべきは以下)が出力されたことを確認する- Resource.h:AppWizardの
Resource
(Text, Fonts, Images, Variables)に関わる - ID_SCREEN_00.h:オブジェクト
ID_SCREEN_00
とその中に配置されたオブジェクトに関わる - ID_SCREEN_00_Slots.c:オブジェクト
ID_SCREEN_00
とその中に配置されたオブジェクトのSlotに関わる - APPW_MainTask.c:AppWizardで作成したGUIオブジェクトの初期化/実行に関わる
- Resource.h:AppWizardの
-
rx72n_envision_kit.c
のソースコード全体を以下に記載する(説明は後述)
#include "GUI.h"
void main(void);
void main (void)
{
/* The follow function is generated by the AppWizard. */
MainTask();
}
-
ID_SCREEN_00_Slots.c
のソースコード全体を以下に記載する(説明は後述)
#include "Application.h"
#include "../Generated/Resource.h"
#include "../Generated/ID_SCREEN_00.h"
/*********************************************************************
*
* Public code
*
**********************************************************************
*/
/*********************************************************************
*
* cbID_SCREEN_00
*/
void cbID_SCREEN_00(WM_MESSAGE * pMsg) {
GUI_USE_PARA(pMsg);
}
/*********************************************************************
*
* ID_SCREEN_00__ID_SWITCH_00__WM_NOTIFICATION_VALUE_CHANGED__ID_TEXT_LED_STATE__APPW_JOB_SETVIS
*/
void ID_SCREEN_00__ID_SWITCH_00__WM_NOTIFICATION_VALUE_CHANGED__ID_TEXT_LED_STATE__APPW_JOB_SETVIS(APPW_ACTION_ITEM * pAction, WM_HWIN hScreen, WM_MESSAGE * pMsg, int * pResult) {
GUI_USE_PARA(pAction);
GUI_USE_PARA(hScreen);
GUI_USE_PARA(pMsg);
GUI_USE_PARA(pResult);
int result = 0;
/* Returns the state of a SWITCH widget. */
result = SWITCH_GetState(pMsg->hWinSrc);
if(SWITCH_STATE_RIGHT == result)
{
process_switch_on(pMsg->hWin);
}
else if(SWITCH_STATE_LEFT == result)
{
process_switch_off(pMsg->hWin);
}
else
{
process_switch_error(pMsg->hWin);
}
}
/*********************************************************************
*
* ID_SCREEN_00__ID_SWITCH_00__WM_NOTIFICATION_VALUE_CHANGED__ID_TEXT_LED_STATE_INIT__APPW_JOB_SETVIS
*/
void ID_SCREEN_00__ID_SWITCH_00__WM_NOTIFICATION_VALUE_CHANGED__ID_TEXT_LED_STATE_INIT__APPW_JOB_SETVIS(APPW_ACTION_ITEM * pAction, WM_HWIN hScreen, WM_MESSAGE * pMsg, int * pResult) {
GUI_USE_PARA(pAction);
GUI_USE_PARA(hScreen);
GUI_USE_PARA(pMsg);
GUI_USE_PARA(pResult);
}
-
Application.h
のソースコード全体を以下に記載する(説明は後述)
#ifndef APPLICATION_H
#define APPLICATION_H
/* Custom code by Renesas */
#include "platform.h"
#include "AppWizard.h"
void process_switch_on(WM_HWIN hDisplayedText);
void process_switch_off(WM_HWIN hDisplayedText);
void process_switch_error(WM_HWIN hDisplayedText);
void led_on(void);
void led_off(void);
#endif // RESOURCE_H
-
Application.c
のソースコード全体を以下に記載する(説明は後述)
#include "Application.h"
void process_switch_on(WM_HWIN hDisplayedText)
{
TEXT_SetText(hDisplayedText, "ON");
TEXT_SetBkColor(hDisplayedText, GUI_WHITE);
TEXT_SetTextColor(hDisplayedText, GUI_BLUE);
led_on();
}
void process_switch_off(WM_HWIN hDisplayedText)
{
TEXT_SetText(hDisplayedText, "OFF");
TEXT_SetBkColor(hDisplayedText, GUI_WHITE);
TEXT_SetTextColor(hDisplayedText, GUI_GRAY);
led_off();
}
void process_switch_error(WM_HWIN hDisplayedText)
{
TEXT_SetText(hDisplayedText, "ERROR");
TEXT_SetBkColor(hDisplayedText, GUI_WHITE);
TEXT_SetTextColor(hDisplayedText, GUI_RED);
led_off();
}
void led_on(void)
{
PORT4.PODR.BIT.B0 = 0;
}
void led_off(void)
{
PORT4.PODR.BIT.B0 = 1;
}
-
MainTask()
関数を実行する-
MainTask()
関数はemWinとAppWizardの初期化やメイン処理を実行する -
MainTask()
関数はAppWizardのソースコード出力によって自動生成される
-
- スイッチ
ID_SWITCH_00
のトグル切り替えをトリガとしてテキストID_TEXT_LED_STATE
へ作用する時のイベントハンドラ - 切り替えた時のトグル状態に応じて処理を振り分けている
- トグルが右側に切り替わったときはスイッチオンとして処理をする
- トグルが左側に切り替わったときはスイッチオフとして処理をする
- 上記以外のトグル状態のときはエラーとして処理をする
- テキスト
ID_TEXT_LED_STATE
の文字表示を"ON"に変更する(TEXT_SetText()
) - テキスト
ID_TEXT_LED_STATE
の背景色を白色に変更する(TEXT_SetBkColor()
) - テキスト
ID_TEXT_LED_STATE
の文字色を青色に変更する(TEXT_SetTextColor()
) - LEDを点灯する(
led_on()
)
- テキスト
ID_TEXT_LED_STATE
の文字表示を"OFF"に変更する(TEXT_SetText()
) - テキスト
ID_TEXT_LED_STATE
の背景色を白色に変更する(TEXT_SetBkColor()
) - テキスト
ID_TEXT_LED_STATE
の文字色を灰色に変更する(TEXT_SetTextColor()
) - LEDを消灯する(
led_off()
)
- テキスト
ID_TEXT_LED_STATE
の文字表示を"ERROR"に変更する(TEXT_SetText()
) - テキスト
ID_TEXT_LED_STATE
の背景色を白色に変更する(TEXT_SetBkColor()
) - テキスト
ID_TEXT_LED_STATE
の文字色を赤色に変更する(TEXT_SetTextColor()
) - LEDを消灯する(
led_off()
)
- それぞれLEDを点灯/消灯する
- LEDを制御するポートはP40(LED回路図)
- AppWizardを使用するにあたっての勘所を以下に記載する
- AppWizardとは、emWinに搭載されているGUIオブジェクトのユーザ実装を支援するWindowsアプリケーション
- GUIオブジェクトの設置や設定、イベントの登録、動作のシミュレーション、さらにソースコード生成を画面を見ながら実施できる
- AppWizard V1.06a_6.14aにて利用できるemWinのGUIオブジェクトは以下のとおり(括弧内は非公式な日本語説明)
- Screen(全オブジェクトの親となるスクリーン)
- Box(矩形)
- Button(ボタン)
- Image(画像)
- Text(テキスト表示)
- Slider(スライダーバー)
- Rotary(丸型のコントロールノブ)
- Switch(二値をもつトグルスイッチ)
- Edit(テキスト入力欄)
- Window(ウィンドウ画面)
- QRCode(QRコード)
- Gauge(半弧型の進捗ゲージ)
- Keyboard(キーボード)
- GUIオブジェクト同士は位置関係を記憶可能(Excelの図形グループ化機能に似ている)
- 方法は以下のとおり
- Slotルーチン関数のパラメータ未使用を原因とするコンパイラの警告を防ぐ目的で使用される
- Slotルーチン内でSlotルーチン関数の全パラメータが常に使用されるとは限らないが、
このマクロを用いることで擬似的にパラメータを使用する
- Slotルーチン内でSlotルーチン関数の全パラメータが常に使用されるとは限らないが、
- GUIオブジェクトを右クリックし
Set size to content
を選択することで、オブジェクトの内容に応じてサイズを自動調整する
- 初回のみ
language
(言語)を追加する-
New language
-> "English"を入力 ->OK
-
- Text定義を追加する
-
Add text
を押すと、新規にText定義が追加される - 新規に追加されたText定義を押す ->
Id
を任意の識別文字に変更する ->English
項(New language
で作成した項目)で定義したい文字列を入力する
-
-
Applay
でText定義を更新する
- Slotと実際に出力されたソースファイル中のSlot関数は編集内容がリンクしている
- しかし、以下のケースでリンクが切れ、編集内容が反映されないことがあるので注意が必要
- Slotまたはソースファイル中のSlot関数のどちらか一方を削除する
- AppWizardの
Interactions
ペインでReceiver
などを変更する - その他のケースもありそう