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

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QtApplets-自定义控件-5-属性研究相关的知识,希望对你有一定的参考价值。

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

​ 这一篇我们继续研究自定义控件的属性部分,上一篇中我们研究了单一的属性,但是像我们QWidget属性中的geometry属性下面有4个参数,如下图所示:

​ 那么这样的属性该怎么自定义了,今天来研究研究。


关键字: Q_PROPERTY属性自定义设置QRect

1 声明一个自定义的属性

​ 这里我们将要搬运Qt官方代码中的代码来,使用Q_PROPERTY声明一个testGeometry的属性,其读取函数为testGeometry,设置函数为setTestGeometry

Q_PROPERTY(QRect testGeometry READ testGeometry WRITE setTestGeometry)

​ 声明两个函数和一个变量

    QRect testGeometry();
    void setTestGeometry(const QRect r);
    QRect testQRect;

2 实现代码

​ 实现代码与原来的相识,如下

QRect CustomControl::testGeometry()
{
    return  testQRect;
}

void CustomControl::setTestGeometry(const QRect r)
{
    m_label->setText(QString::number(r.width(),10));
    testQRect = r;
}

3 测试

​ 把对应的库拷贝到Qt Designer 程序目录下,就可以看到我们自己的属性了。如下图所示

4 提升一下,使用自定义的类型

​ 想象一下,在上面的内容中,我们使用的QRect,这个还是Qt原生支持的内容,如果是我们自己定义的一种类型呢,他如何被Qt识别了,例如TestRect,详见后面更新的文章。

☞ 源码

源码链接:GitHub仓库自取

使用方法:☟☟☟


以上是关于QtApplets-自定义控件-5-属性研究的主要内容,如果未能解决你的问题,请参考以下文章

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

QtApplets-自定义控件-6-属性研究(未成功)

QtApplets-自定义控件-1-工程代码分析

QtApplets-自定义控件-2-插件代码分析

QtApplets-自定义控件-8-自定义图标

QtApplets-自定义控件-3-插件部署问题