ST意法半导体
直播中

万物死

8年用户 1223经验值
擅长:MEMS/传感技术
私信 关注
[问答]

在屏幕更改期间,Toughfx将使用断言功能是什么原因?如何解决?

您好,在我的项目中我有 2 个屏幕,我们称之为 SCR-1 和 SCR-2。第一个 SCR-1 将显示 1 秒,后 SCR-2 将一直显示。一切正常,直到那时。
有时在我的项目中,我需要在运行时再次放置 SCR-1(使用 SCR-1 1 秒然后使用 SCR-2)。当我尝试做同样的事情时,我面临断言功能。因此,屏幕能够成功地从 SCR-2 更改为 SCR-1,但在尝试转到 SCR-2 后 1 秒后,touchgfx 将进行断言。
下面是堆栈信息。这里 SCR-2 是主屏幕

  • void FrontendApplicationBase::gotoMainScreenScreenNoTransitionImpl()
  • {
  •     touchgfx::makeTransition(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
  • }
它在添加(自定义区域)时进行断言,基本上我添加了自定义区域作为自定义小部件。
QRCodeWidget自定义区域;
  • void MainScreenView::setupScreen() {
  •         customizedArea.setXY(QR_CODE_AREA_X_LOCATION, QR_CODE_AREA_Y_LOCATION); //From widget
  •         customizedArea.setQRCode(&code);    //From QRCodeWidget
  •         customizedArea.setScale(SCALE_FOR_QR_CODE);              //From QRCodeWidget
  •         add(customizedArea);           //Add to root container of your screen (view)
  •         customizedArea.setVisible(false);
  •         customizedArea.invalidate();
  •         MainScreenViewBase::setupScreen();
  • }







回帖(1)

陈波

2023-1-10 14:08:05
您好,在我的项目中我有 2 个屏幕,我们称之为 SCR-1 和 SCR-2。第一个 SCR-1 将显示 1 秒,后 SCR-2 将一直显示。一切正常,直到那时。
有时在我的项目中,我需要在运行时再次放置 SCR-1(使用 SCR-1 1 秒然后使用 SCR-2)。当我尝试做同样的事情时,我面临断言功能。因此,屏幕能够成功地从 SCR-2 更改为 SCR-1,但在尝试转到 SCR-2 后 1 秒后,touchgfx 将进行断言。
下面是堆栈信息。这里 SCR-2 是主屏幕

  • void FrontendApplicationBase::gotoMainScreenScreenNoTransitionImpl()
  • {
  •     touchgfx::makeTransition(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
  • }
它在添加(自定义区域)时进行断言,基本上我添加了自定义区域作为自定义小部件。
QRCodeWidget自定义区域;
  • void MainScreenView::setupScreen() {
  •         customizedArea.setXY(QR_CODE_AREA_X_LOCATION, QR_CODE_AREA_Y_LOCATION); //From widget
  •         customizedArea.setQRCode(&code);    //From QRCodeWidget
  •         customizedArea.setScale(SCALE_FOR_QR_CODE);              //From QRCodeWidget
  •         add(customizedArea);           //Add to root container of your screen (view)
  •         customizedArea.setVisible(false);
  •         customizedArea.invalidate();
  •         MainScreenViewBase::setupScreen();
  • }







举报

更多回帖

发帖
×
20
完善资料,
赚取积分