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

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

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

接上篇,我们最后的那个升华了的小问题,如何使用自定义的数据类型作为我们自定义控件的属性呢。看帮助文档是支持的,但是要什么样子的自定义数据类型,这里没有写呀。这里我没有搞定,后面的内容不用看了。


The property name and type and the READ function are required. The type can be any type supported by QVariant, or it can be a user-defined type. The other items are optional, but a WRITE function is common. The attributes default to true except USER, which defaults to false.

For example:


Q_PROPERTY(QString title READ title WRITE setTitle USER true)


For more details about how to use this macro, and a more detailed example of its use, see the discussion on Qt’s Property System.

See also Qt’s Property System.


文章目录


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

目前状态

提升一下,给用户来个选择咋样?

☞ 源码

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


目前状态


目前状态呢,我已经实现一个自定义的类,代码如下


testrect.h

#ifndef TESTRECT_H
#define TESTRECT_H
#include <QObject>
#include <QSharedDataPointer>
#include <QWidget>
class TestRectData;
class TestRect : public QWidget
{
    Q_OBJECT
    Q_PROPERTY(int testX READ getTestX WRITE setTestX)
public:
    explicit TestRect(QWidget *parent = nullptr);
    TestRect(const TestRect &);
    TestRect &operator=(const TestRect &);
    ~TestRect();
    int getTestX();
    void setTestX(int temp);
signals:
private:
    QSharedDataPointer<TestRectData> data;
private:
    int mTestX = 0;
};
#endif // TESTRECT_H

testrect.cpp


#include "testrect.h"
class TestRectData : public QSharedData
{
public:
};
TestRect::TestRect(QWidget *parent) : QWidget(parent), data(new TestRectData)
{
}
TestRect::TestRect(const TestRect &rhs) : data(rhs.data)
{
}
TestRect &TestRect::operator=(const TestRect &rhs)
{
    if (this != &rhs)
        data.operator=(rhs.data);
    return *this;
}
TestRect::~TestRect()
{
}
int TestRect::getTestX()
{
    return mTestX;
}
void TestRect::setTestX(int temp)
{
}

image.pngimage.pngimage.pngimage.pngimage.png

目录
相关文章
QtApplets-自定义控件-4-属性研究
QtApplets-自定义控件-4-属性研究
154 0
QtApplets-自定义控件-4-属性研究
QtApplets-自定义控件-5-属性研究
QtApplets-自定义控件-5-属性研究
132 0
QtApplets-自定义控件-5-属性研究
QtApplets-自定义控件-7-属性研究
QtApplets-自定义控件-7-属性研究
114 0
QtApplets-自定义控件-7-属性研究
|
9月前
|
JavaScript 前端开发 定位技术
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)(上)
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)
93 0
|
9月前
|
JSON 定位技术 数据格式
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)
90 0
|
Windows
重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性
原文:重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性 [源码下载] 重新想象 Windows 8.
899 0
|
C# SQL
C# 设计时动态改变实体在PropertyGrid中显示出来的属性
方法一: /// &lt;summary&gt; /// 实体属性处理 /// &lt;/summary&gt; public class PropertyHandle { #region 反射控制只读、可见属性 //SetPropertyVisibility(obj, "名称 ", true);
1890 0
|
C#
WPF整理-为控件添加自定义附加属性
原文:WPF整理-为控件添加自定义附加属性 附加属性,大家都不陌生,最常见的是Canvas.Left/Canvas.Top,类似的也有Grid.Row/Grid.Column等附加属性。举个最常见的例子 需要说明的是并不是所有的附加属性都是元素放进去后才会有附加效果,上面的例子只是刚好是这种错觉的巧合情况,Grid.Row也属于这种巧合。
2149 0
WPF整理-为控件添加自定义附加属性
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
|
iOS开发
【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
(1)UIButton类继承自UIControl,而UIControl继承自UIView,因为UIView就是个矩形区域,所以UIButton实例化的对象其实都是一个矩形,虽然有各种圆角、增加联系人、信息按钮等等,给它们加个背景它们就现形成矩形了,而且它们有个frame属性,这就是设置位置和矩形框的。
1148 0

热门文章

最新文章