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

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

image.png

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


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

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


文章目录


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

1 声明一个自定义的属性

2 实现代码

3 测试

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

☞ 源码

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


1 声明一个自定义的属性


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

image.png4 提升一下,使用自定义的类型

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


☞ 源码

源码链接:GitHub仓库自取


使用方法:☟☟☟

image.png

目录
相关文章
|
存储 开发框架 .NET
2000条你应知的WPF小姿势 基础篇<51-56 依赖属性>
2000条你应知的WPF小姿势 基础篇<51-56 依赖属性>
45 0
|
C#
WPF整理-为控件添加自定义附加属性
原文:WPF整理-为控件添加自定义附加属性 附加属性,大家都不陌生,最常见的是Canvas.Left/Canvas.Top,类似的也有Grid.Row/Grid.Column等附加属性。举个最常见的例子 需要说明的是并不是所有的附加属性都是元素放进去后才会有附加效果,上面的例子只是刚好是这种错觉的巧合情况,Grid.Row也属于这种巧合。
2122 0
WPF整理-为控件添加自定义附加属性
QtApplets-自定义控件-7-属性研究
QtApplets-自定义控件-7-属性研究
104 0
QtApplets-自定义控件-7-属性研究
QtApplets-自定义控件-4-属性研究
QtApplets-自定义控件-4-属性研究
137 0
QtApplets-自定义控件-4-属性研究
QtApplets-自定义控件-6-属性研究(未成功)
QtApplets-自定义控件-6-属性研究(未成功)
147 0
QtApplets-自定义控件-6-属性研究(未成功)
|
Web App开发
艾伟:WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器
上一篇文章我已经介绍了TypeConverterAttribute元数据的作用,本文将通过代码向你展示具体的实现。在这个例子中,我要给控件添加一个复杂的属性,这个属性对这个控件没有什么功用,纯粹是为了演示,有些牵强附会了。
821 0
|
Web App开发
艾伟:WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
前面的几篇文章中,我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型转换器,现在我们可以在属性浏览器中编辑它的值,并且它的值也被串行化的源代码里了。但是你有没有发现,在属性浏览器里编辑这个属性的值还是不太方便。
695 0
|
C#
艾伟_转载:WPF/Silverlight陷阱:XAML自定义控件的嵌套内容无法通过名称访问
为了说明这个问题,假定我们需要实现一个具有特殊功能的按钮控件。编写Xaml文件如下: Button> 对 Code Behind类,唯一的改动是把向导生成的基类从UserControl改成Button: public partial class XamlButton : Button{    ...
1080 0
|
C#
[WPF 容易忽视的细节] —— x:Name与Name属性
原文:[WPF 容易忽视的细节] —— x:Name与Name属性 一、前言 WPF使用XAML来对界面进行编写,界面与后台逻辑分离。我们也可以写Style、Trigger来实现一些界面效果, 这些都是通过Name来定位控件的,例如Setter.TargetName、Trigger.SourceName和Binding的ElementName等。
1121 0
|
XML 前端开发 Android开发
D1-从N角星开始论述自定义控件
零、前言 [1].个人对安卓绘制逻辑感到繁琐,自己封装了一个绘图框架 [2].自定义控件的绘制流程都基于我的这个库,详见:开源计划之--Android绘图库--LogicCanvas [3].
1251 0