自定义SearchItem类 ------ Model-View-Control(MVC)架构(5)

在上一篇博客的工程里用到的数据条目Item,作为实验,是直接采纳的QTableWidgetItem。由于具体的工程里包含的数据各不相同,直接采纳QTableWidgetItem肯定是不合适的。解决办法有两种选择,一是子类化QTableWidgetItem,二是完全重新建立一个自定义类。此处选择后者,建立一个叫SearchItem的自定义类,专门对从服务器搜索到的联系人资料进行封装。联系人的资料有:账号、头像、出生年份、国家、省份、城市和昵称。

本类除了包括7个变量存储联系人资料外,另外只需实现2个函数,一个是自定义的paint函数,供委托调用;一个是sizeHint函数,返回本Item的尺寸大小。

本类最关键的地方在于:由于是自定义类,要想融入Qt元对象系统(meta-object system),能和QVariant一同使用,必要要使用Q_DECLARE_METATYPE()宏对它进行声明;此外,本类还必须包括一个无参数的构造函数。

以下是具体代码:

search_item.h

#ifndef SEARCH_ITEM_H
#define SEARCH_ITEM_H
#include <QMetaType>
//这里必须要include <QString>,否则报错
#include <QString>
class QPainter;
class QSize;
class QRect;

class SearchItem
{
public:
    SearchItem();//默认无参构造函数、不可少
    SearchItem(quint32 id=0,
               quint8 icon=0,
               qu
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值