• 3727阅读
  • 2回复

[讨论]自定义控件的自定义属性类型为什么只能是int? [复制链接]

上一主题 下一主题
离线vinge
 

只看楼主 倒序阅读 楼主  发表于: 2014-04-22
环境 winxp qt4.8.4  creater 2.6.2 designer 4.8.4
我自定义了一个coordLabel 专用于显示坐标名和坐标值。所以加了以下几个属性
    Q_PROPERTY(int unit READ unit WRITE setUnit)    
    Q_PROPERTY(char cname READ cname WRITE setName)    
    Q_PROPERTY(int coord READ coord WRITE setCoord)
但是只有int类型的属性能在DESIGNER里的属性栏被现实出来。
本来unit和cname都是unsigned char类型,但怎么都显示不出来,只有coord没问题
所以我测试了一下,都定义成int就都显示了。我试过加上 DESIGNABLE true,无效。
   知道这是为嘛的请指教一二?

一切真如都是假如
离线vinge

只看该作者 1楼 发表于: 2014-04-23
没人知道这是怎么回事吗?自己顶一下。
一切真如都是假如
离线vinge

只看该作者 2楼 发表于: 2014-04-23
还是要找原文档看啊, Q_PROPERTY 只认QVariant 类型。而char short不在其列。
定义成QChar就好了,不过designer里显示出来了,却没法修改!!郁闷
一切真如都是假如
快速回复
限100 字节
 
上一个 下一个