QtApplets-自定义控件-4-属性研究

简介: QtApplets-自定义控件-4-属性研究

image.png

QtApplets-自定义控件-4-属性研究

这一篇我们研究研究自定控件中属性部分。也终于要添加我们自己的代码了。先看下演示效果吧。这里我搞了一个名字叫做testID的属性,他对应的读函数为getTestID写函数为setTestID

image.pngQtApplets-自定义控件-4-属性研究

QtApplets-自定义控件-4-属性研究

1 声明一个自定义的属性

2 实现

☞ 源码

关键字: Q_PROPERTY、属性、自定义、设置、获取


1 声明一个自定义的属性

这里我们需要用到一个关键宏Q_PROPERTY,看看官方对这个宏的描述


This macro is used for declaring properties in classes that inherit QObject. Properties behave like class data members, but they have additional features accessible through the Meta-Object System.


简单翻译一下:


这个宏用于在继承QObject的类中声明属性,属性的行为类似于数据成员,但是它们有通过元对象系统访问的附加特性。

  Q_PROPERTY(type name
             (READ getFunction [WRITE setFunction] |
              MEMBER memberName [(READ getFunction | WRITE setFunction)])
             [RESET resetFunction]
             [NOTIFY notifySignal]
             [REVISION int]
             [DESIGNABLE bool]
             [SCRIPTABLE bool]
             [STORED bool]
             [USER bool]
             [CONSTANT]
             [FINAL])

image.png

#include "customcontrol.h"
CustomControl::CustomControl(QWidget *parent) :
    QWidget(parent)
{
    m_label = new QLabel(this);
    m_label->setGeometry(0,0,100,20);
}
int CustomControl::getTestID()
{
    return testID;
}
void CustomControl::setTestID(int temp)
{
    testID = temp;
    m_label->setGeometry(0,0,100,20);
    m_label->setStyleSheet("color: rgb(255, 255, 0);font: 11pt '黑体';");
    m_label->setText(QString::number(testID,10));
    update();
}

image.png

目录
相关文章
|
安全 JavaScript 前端开发
QML信号与信号槽实践指南:轻松掌握现代软件开发的关键技术(三)
QML信号与信号槽实践指南:轻松掌握现代软件开发的关键技术
698 0
|
前端开发 JavaScript C++
QML信号与信号槽实践指南:轻松掌握现代软件开发的关键技术(一)
QML信号与信号槽实践指南:轻松掌握现代软件开发的关键技术
974 0
|
前端开发 JavaScript C++
打造卓越 QML 层级设计:从入门到精通(一)
打造卓越 QML 层级设计:从入门到精通
4709 1
|
7月前
|
安全 Linux API
【小龙虾 🦞 OpenClaw全平台搭建保姆级教程】(阿里云/Win11/MacOS/Linux)部署配置百炼api+15大核心Skill+FAQ
“OpenClaw部署5分钟,技能筛选3天”——这是2026年多数用户的真实体验。ClawHub技能市场收录1700+技能,看似选择丰富,实则良莠不齐:部分技能功能重复、部分长期无人维护、部分权限过高暗藏风险,新手很容易陷入“装了无用、有用不敢装”的困境。
857 1
|
9月前
|
JSON 算法 API
淘宝商品列表 API 使用指南
淘宝商品列表API(taobao.items.search)支持按关键词、价格、销量等条件检索商品,返回商品ID、标题、价格等结构化数据,适用于比价、市场分析。需注册开放平台、获取AppKey/AppSecret并实名认证。接口限100次/秒,建议先测沙箱。请求含基础参数与筛选条件,签名通过MD5加密生成。
|
10月前
|
消息中间件 弹性计算 决策智能
实战演练:三步构建高可靠多智能体应用
本方案基于阿里云ECS与RocketMQ,搭建多智能体系统,实现天气查询与行程规划。通过一键部署资源、创建Topic/Group、发布Agent应用三步,快速构建异步通信的智能体协作系统,支持终端交互与消息轨迹追踪,高效验证任务执行流程。(238字)
|
人工智能 开发者
通义千问三款主力模型再降价,最高降幅85%
通义千问三款主力模型再降价,最高降幅85%
10383 12
通义千问三款主力模型再降价,最高降幅85%
|
Unix 网络虚拟化 C++
VS2022+Qt5.14.2成功编译MITK2022.10
使用VS2022和Qt5.14.2成功编译MITK2022.10的过程,包括编译结果的截图、遇到的编译问题的解决方法、两个重要的注意事项(patch文件格式的修改和ITK-gitclone-lastrun文件的存在),以及参考链接。文中详细描述了如何解决编译过程中遇到的错误C2220和警告C4819,以及如何修改文件编码和尾行格式。
1258 1
VS2022+Qt5.14.2成功编译MITK2022.10
|
监控 安全 网络安全
中间人攻击之SSL剥离
【8月更文挑战第12天】
1069 1
|
存储 安全 编译器
【Qt 底层之属性系统】Qt 属性系统全景:深入解析 Q_PROPERTY 宏的核心作用
【Qt 底层之属性系统】Qt 属性系统全景:深入解析 Q_PROPERTY 宏的核心作用
1332 2