我目前正在尝试学习TouchGFX Gui的实现。
为简单起见,我想创建一个滑块,并创建一个文本区域来显示此滑块的当前值。
在示例项目中已经看到,更改所需的textArea的文本
touchgfx::Unicode::UnicodeChar
,最后是uint16_t array
Unicode::snprintf(textAreaBuffer,BufferSize,"Value: %d",value)
我当前用于更改文本的功能是:
void MainScreenView::changeTextAreaValue(int slidervalue)
{
Unicode::snprintf(textArea1Buffer, 3, "%d", slidervalue);
textArea1.resizeToCurrentText();
textArea1.invalidate();
}
在设计器中,我添加了一个有关更改滑块值的事件,该事件调用此虚函数。 这是我对文本区域的设置
但是当我运行该程序时,一旦移动滑块,标签就会显示??
而不是期望值
答案 0 :(得分:1)
此问题是由于未定义here中所述的通配符范围。该软件找不到任何可用的字符来表示数字。
答案 1 :(得分:1)
有关为什么看到“?”的一些其他信息。
TouchGFX使用Excel工作表,该工作表允许您指定要从特定字体针对特定大小(“印刷”)生成的字符。
例如,如果您正在使用带通配符的TextArea,并且放置在关联缓冲区中以进行渲染的字符均不会在..
中表示...它将退回到为该版式指定的“后退”字符(也在excel工作表中)。