你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H750DK智能零售界面设计——8购物清单项设计

[复制链接]
EPTmachine 发布时间:2025-11-2 19:31

购物清单项设计

购物清单包含多个清单项,对于这种情况,通过设计一个清单项显示的容器,配合ScrollList即可实现购物清单的查看功能。

清单项显示容器设计

购物清单显示每一个商品项时,需要显示商品图片、名称、数量以及价格。通过定义一个实现这些功能的Container,自定义用于显示商品项的用户控件。根据显示需要,使用一个Image控件用于显示商品图片、一个Text控件用于显示开发板名称、两个按键用于调节商品数量、两个使用通配符的Text控件用于显示商品数量和价格。

CheckUI_Item.png

OrderNumText_Wildcard.png

PriceText_Wildcard.png

由于购物清单在系统初始化时为空,所以设置容器中控件为初始不可见。

BillItem_Invisible.png

在容器的Interaction中添加按键点击触发调用虚函数,用于实现调节商品数量。

ChangItemNumCall.png

生成的基类代码头文件BillItemBase.hpp中有相关的虚函数声明

class BillItemBase : public touchgfx::Container
{
public:
    BillItemBase();
    virtual ~BillItemBase();
    virtual void initialize();

    /*
     * Virtual Action Handlers
     */
    virtual void CountMinus()
    {
        // Override and implement this function in BillItem
    }
    virtual void CountAdd()
    {
        // Override and implement this function in BillItem
    }
    ...
}

在对应的继承类头文件BillItem.hpp代码中添加虚函数声明

class BillItem : public BillItemBase
{
public:
    BillItem();
    virtual ~BillItem() {}

    virtual void initialize();

    virtual void CountMinus();
    virtual void CountAdd();
protected:
};

在对应的继承类源文件BillItem.cpp代码中重写函数的定义,实现修改商品数量的功能。

void BillItem::CountMinus()
{
    if(billcount>0)
        billcount--;
    Unicode::snprintf(OrderNumBuffer,10,"%d",billcount);
    OrderNum.invalidate();    

}

void BillItem::CountAdd()
{
    if(billcount<10)
        billcount++;
    Unicode::snprintf(OrderNumBuffer,10,"%d",billcount);
    OrderNum.invalidate();    
}

到此用于显示结算清单商品信息的容器设计初步完成。

结算页面滚动列表设计

显示多个结算清单中的商品,使用ScorllList实现这一功能,ScollList的属性Item Template属性中选择上面设计的BillItem作为模板,设置项目数量为10个。这样做限制订单中最多包含10个不同的商品。

CheckListSet.png

在界面上添加一个Text控件,文本设置为“Total”,一个使用通配符的Text控件来显示清单中商品的总价。

CheckList_TotalPrice.png

总结

通过自定义Container实现显示结算清单中单个商品信息的自定义控件,结合ScollList实现清单中多个商品的信息查看和管理。TouchGFX设计中,Container的使用是创建用户自定义应用不可或缺的选择。

收藏 评论0 发布时间:2025-11-2 19:31

举报

0个回答

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版