TouchGFX:如何处理按下/未按下按钮的指令

Posted

技术标签:

【中文标题】TouchGFX:如何处理按下/未按下按钮的指令【英文标题】:TouchGFX: How handle instructions on pressed/unpressed button 【发布时间】:2021-05-07 21:09:33 【问题描述】:

如何处理 TouchGFX 中的一个按钮,该按钮允许我在按下 LED 时打开它,并在我释放按钮时将其关闭? 以下代码有效,但每次触摸/取消触摸屏幕时都会打开/关闭 LED...

void Screen1View::handleClickEvent(const ClickEvent& event)

  if((event.getType() == ClickEvent::PRESSED))
  

    HAL_GPIO_WritePin(LD1_GPIO_Port, LD1_Pin, GPIO_PIN_SET);
    HAL_Delay(50);
  
 if((event.getType() == ClickEvent::RELEASED))
  
     HAL_GPIO_WritePin(LD1_GPIO_Port, LD1_Pin, GPIO_PIN_RESET);
  

如果我使用“flexButtonCallbackHandler(const touchgfx::AbstractButtonContainer& event)”函数,我可以检测到 button1、button2 等是否被按下,但我无法检测到按钮是否被释放...... 有什么建议吗?

【问题讨论】:

【参考方案1】:

TouchGFX 中的标准Button 类仅在clicked 上触发。您可以查看AbstractButton::handleClickEvent() 的源代码以了解代码是如何工作的。 Button 继承自该类并添加了点击/释放图像等功能。

为了做你想做的事,你必须创建一个新的类来实现你想要的行为。检查AbstractButton 的源代码应该可以直接为单击和释放事件发出回调。

【讨论】:

以上是关于TouchGFX:如何处理按下/未按下按钮的指令的主要内容,如果未能解决你的问题,请参考以下文章

突出显示被按下的按钮并取消突出显示未按下的按钮 SWIFT

未按下按钮时如何调用按钮功能

为啥 KeyListener 仅在未按下按钮时才起作用?

在选择器视图上未按下按钮

FreeBASIC 和 GTK Glade 的 glade Button 是如何工作的?

在 QtWidgets 的 PyQt5 中按下角落的红色 x 按钮时如何处理/覆盖?