TinyPiXOS 组件源码精要:tpLabel的实现原理与API解析
TinyPiXOS——国产自主轻量级移动嵌入式设备桌面操作系统!项目以Linux为基础,摒弃了X11/Wayland等传统图形方案,旨在提供一个独立可控、架构轻量且高度定制化的嵌入式桌面操作系统开发平台。项目官网:www.tinypixos.com
·
tpLabel详解
tpLabel 为标签控件,常用与显示文本、图标等,更多的时候用于显示静态文本,即不可编辑,没有提供用户交互的功能。
源码地址:
https://gitee.com/tinypixos/tinyPiXCore/blob/master/src/src/SingleGUI/widgets/tpButton.cpp
组件说明:
https://www.tinypixos.com/components/default/tpLabel/
基础信息
| 头文件: | include <tpLabel.h> |
|---|---|
| Cmake: | None |
| 发布版本: | V0.1.0 |
| 继承类: | tpChildWidget |
| 派生类: | tpFilePathWidgetItem |
继承关系

所有组件必须继承tpChildWidget
成员函数说明
tpLabel::tpLabel(tpChildWidget *parent=nullptr)
tpLabel::tpLabel(const tpString &text, tpChildWidget *parent=nullptr)
virtual tpLabel::~tpLabel()
virtual void tpLabel::setAutoFit(bool enable=false)
void tpLabel::setWordWrap(bool wrap)
设置label根据文本长度和大小,自动实现换行
virtual void tpLabel::setRect(tpRect &rect)
virtual void tpLabel::setRect(tpRect *rect)
virtual void tpLabel::setRect(ItpRect &rect)
virtual void tpLabel::setRect(ItpRect *rect)
virtual void tpLabel::setRect(int32_t x, int32_t y, int32_t w, int32_t h)
virtual void tpLabel::setText(const tpString &text)
设置显示文本
virtual tpFont * tpLabel::font()
获取文本字体指针 返回值:字体指针
virtual void tpLabel::setAlign(const tinyPiX::AlignmentFlag align=tinyPiX::AlignLeft)
设置文本居中模式;当前仅支持水平靠左、靠右、居中
virtual bool tpLabel::onPaintEvent(tpObjectPaintEvent *event)
绘制事件,禁止在该函数调用 paint和update函数 返回值:返回true继续执行子控件绘制
virtual bool tpLabel::onLeaveEvent(tpObjectLeaveEvent *event) override
virtual tpString tpLabel::pluginType() override
组件类名,子类实现,返回子类类名字符串,用于匹配CSS中对应样式 返回值:类名字符串
使用示例
tpLabel *label1 = new tpLabel(vScreen);
label1->font()->setFontColor(_RGBA(255, 0, 0, 255), 0);
label1->font()->setAntialias(tpFont::TINY_FONT_ANTIALIAS_BEST);
label1->font()->setFontWeight(tpFont::TINY_FONT_WEIGHT_THIN);
label1->setText("TINY_FONT_WEIGHT_THIN");
label1->setRect(0, 0, 250, 30);
效果演示

关注我们
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐




所有评论(0)