核心代码如下:
//ListWidgetItemChat 即自定义Item
void ChatDialog::addListWidgetItemChat(QListWidget *listWidget, QString username, QString ip)
{
ListWidgetItemChat *chatItem = new ListWidgetItemChat();
chatItem->init(username, ip);
QListWidgetItem *item = new QListWidgetItem();
//设置 Item 的大小
item->setSizeHint(QSize(0, chatItem->height()));
listWidget->addItem(item);
listWidget->setItemWidget(item, chatItem);
}
ListWidgetItemChat.h
namespace Ui {
class ListWidgetItemChat;
}
class ListWidgetItemChat : public QWidget
{
Q_OBJECT
public:
explicit ListWidgetItemChat(QWidget *parent = 0);
~ListWidgetItemChat();
void init(QString username, QString ip);
private:
Ui::ListWidgetItemChat *ui;
};
// LISTWIDGETITEMCHAT_H