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-属性研究的主要内容,如果未能解决你的问题,请参考以下文章