QT5通讯录管理系统的设计+源代码(4)
时间:2023-12-03 09:18 来源:毕业论文 作者:毕业论文 点击:次
boolisExitPeople(constQStringpeopleId); signals: voidmodelDataChanged(); private: QList<People>m_peoples; }; 3。3。1分组模块 分组模块在设计中引用了3个文件,GroupBase类,Group类,GroupWidget类。 GroupBase类是一个基础类,构造了成员编号m_id,m_name两个属性及对此属性的设置参数的方法。 classGroupBase { public: GroupBase(); QStringid()const; voidsetId(constQString&id); QStringname()const; voidsetName(constQString&name); booloperator==(constGroupBase&base)const; private: QStringm_id; QStringm_name; }; Group类以GroupBase类为成员数据类型,构造一个分组下联系人的列表 classGroup { public: Group(); GroupBasegroupBase()const; voidsetGroupBase(constGroupBase&groupBase); booldeletePeople(constQString&id); QList<People>peoples()const; voidsetPeoples(constQList<People>&peoples); private: GroupBasem_groupBase; QList<People>m_peoples; }; GroupWidget类功能是构造联系人右键目录及相关的方法,比如addGroup()、deleteGroup();。 classGroupWidget:publicQWidget { Q_OBJECT public: GroupWidget(QWidget*parent=0); voidinitWidget(); QList<Group>groupInfos()const; voidsetGroupInfos(constQList<Group>&groupInfos); private: voidallGroupBaseInfo(); QList<GroupBase>otherGroupBaseInfo(constGroupBase&info); voidaddWidgetGroup(constGroup&); voidupdateGroupBaseInfos(constGroupBase&baseInfo,boolflag); signals: voiddeleteCurGroup(constGroupBase&); privateslots: voidshowGroupListView(boolflag,constGroupBase&baseInfo); voiddeleteGroup(constGroupBase&); voidaddGroup(); voidreNameGroup(constGroupBase&); voiddeletePeople(constQString&groupId,constQString&peopleId); voidmoveNewGroup(constQString&fromBaseInfo,constPeople&patient, constQString&toBaseInfo); voiddeleteGroupPeople(constQString&patientId,constQString&groupId); private:论文网 QList<Group>m_groupInfos; QList<GroupBase>m_groupbaseInfos; QWidget*m_widget; QVBoxLayout*m_layoutForList; QList<GroupTitleWidget*>m_groupTitles; QList<GroupListView*>m_listViews; }; 3。3。2联系人模块 对联系人的操作共分为两个模块People类和GroupListView类。 People类与Group类相似,都是为基础属性赋值操作 classPeople { public: People(); QStringid()const; voidsetId(constQString&id); QStringname()const; voidsetName(constQString&name); QStringimage()const; voidsetImage(constQString&image); boolisValid()const; private: QStringm_id; QStringm_name; QStringm_image; }; GroupListView类 GroupListView类功能是构造联系人右键目录及相关的方法,比如initContentMenu()、movePeopleToOtherGroup()。 classGroupListView:publicQListView { Q_OBJECT public: explicitGroupListView(QWidget*parent=0); ~GroupListView(); QList<GroupBase>otherGroupInfos()const; voidsetOtherGroupInfos(constQList<GroupBase>&otherGroupInfos); GroupBasebaseInfo()const; voidsetBaseInfo(constGroupBase&baseInfo); (责任编辑:qin) |