0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TouchGFXを使おう3~画面遷移編~

Posted at

TouchGFXを使おう3~導入編2~の続きです。

今回はTouchGFXで画面遷移をします。

TouchGFX入門:画面遷移と性能

STマイクロエレクトロニクスが製作しているYoutubeも参照ください。
なるべく近い構成となるように調整しています。

Interactionで遷移する

Interaction を使用して 画面遷移 をしてみます。
2つのScreenを作成し、Screen2にボタンでScreen1に戻るようにします。
最初にScreenを2つ作成し Interacytions⇒+クリックIntegration を追加します。
Trigger:Button is clicked
Choose clicked source:button1
Action:Change screen
Choose Screen:Screen1

とします。
この段階でScreen2のボタンをクリックするとScreen1に戻るプログラムになりました。
image.png

プログラムで遷移する

プログラムを使用して自動的に画面遷移を行います。
Screen1に Action追加 します。
+ Add Custom Actionクリック します。
image.png
Actionの名前を今回は、action1 にします。
image.png
Interacytion を追加します。
Trigger:action1 is called
Action:Change screen
Choose Screen:Screen2

image.png

コード追加

コード生成Screen1View.hpphandleTickEvent追加 します。
今回は VisualStudioCode を使用していますが、STM32CubeIDE等 でも 可能 です。
Generate Code または Run Simulator で コードを生成し Files から 生成されたコード を開きます。
image.png
ファイル⇒フォルダーを開く からフォルダーを指定して開きます。
image.png
フォルダはプロジェクト名とおなじn
image.png
image.png

今回は、Screen1View.hppScreen1View.cppコード追加 します。

  • gui⇒include_gui⇒Screen1_screen⇒Screen1View.hpp
  • gui⇒src⇒Screen1_screen⇒Screen1View.cpp

Screen1View.hpp

最初に、Screen1View.hpphandleTickEvent追加 します。
TouchGFXProjects\MyApplication\gui\include\gui\screen1_screen\Screen1View.hpp を開き

virtual void handleTickEvent();
int tickCounter = 0;

を追加し以下のような形にします。

public:
    Screen1View();
    virtual ~Screen1View() {}
    virtual void setupScreen();
    virtual void tearDownScreen();
    virtual void handleTickEvent();
protected:
    int tickCounter = 0;

image.png

Screen1View.cpp

次に、Screen1View.cpp動作内容追加 します。
Screen1View.cpptickCounter60 になると動作するようにします。
TouchGFXProjects\MyApplication\gui\src\screen1_screen\Screen1View.cpp を開き

void Screen1View::handleTickEvent()
{
    if(tickCounter >= 60) action1();
    tickCounter++;
}

を追加します。

image.png
以上で 60カウント でスクリーンScreen1からScreen2に変化するプログラムになりました。
TouchGFXを使おう4~アニメーション~に続きます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?