ui.twFriends->setColumnCount(2);
ui.twFriends->hideColumn(1);
ui.twFriends->clear();
QStringList groups = ggFriendsDatas::datasInstance()->getGroups();
QList<QTreeWidgetItem*> topItems;
//end
int size = groups.size();
for(int i=0; i<size; i++)
{
QTreeWidgetItem* itemGroup = new QTreeWidgetItem(ui.twFriends,2000);//
ggFriendGroupWidget* g = new ggFriendGroupWidget();
g->setGroup(groups);
g->m_treeWidget = ui.twFriends;
ui.twFriends->setItemWidget(itemGroup,0,g);
QList<UserData> tmpDatas = ggFriendsDatas::datasInstance()->getUsersOfGroup(groups);
int size2 = tmpDatas.size();
for(int j=0; j<size2; j++)
{
QTreeWidgetItem* itemUser = new QTreeWidgetItem(3000);
itemGroup->addChild(itemUser);
ggFriendItemWidget* w = new ggFriendItemWidget();
connect(w,SIGNAL(signalDeleteSelf(UserData)),this,SLOT(slotDelFriendItem(UserData)));
connect(w,SIGNAL(signalGroupChanged(UserData,int)),this,SLOT(slotGroupChanged(UserData,int)));
w->setUserData(tmpDatas[j]);
ui.twFriends->setItemWidget(itemUser,0,w);
}
topItems.append(itemGroup);
}
楼主可以参考下这个代码里的结构,去掉里面的数据, 将好友独立成一个widget,然后用treewidget来当容器