十二、QListWidget添加自定义Item

核心代码如下:

//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

#ifndef LISTWIDGETITEMCHAT_H
#define LISTWIDGETITEMCHAT_H

#include 

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;
};

#endif // LISTWIDGETITEMCHAT_H

你可能感兴趣的:(Qt界面设计小知识)