QT实现显示聊天信息的控件
- 准备写一个局域网的聊天小软件。UI部分首先考虑的就是显示聊天信息的界面。下面是测试界面。
- 思路就是自定义聊天项的控件添加到QListWidget中,控件中包含两个QLabel分别显示头像和消息信息。根据不同的聊天角色调整两个QLabel的位置。下面是代码。
- ChatItem是控件的名字,头文件如下
#define CHATITEM_H
#include <QWidget>
#include <QLabel>
class ChatItem : public QWidget
{
Q_OBJECT
public:
enum ChatRole
{
host,
guest
};
ChatItem(QString msg, int headId, ChatRole role, QWidget *parent = 0);
~ChatItem();
private:
void hostSet();
void guestSet();
private:
QLabel* labelMsg;
QLabel* labelHead;
};
#endif
#include "chatitem.h"
#define WIDTH 600
#define HEAD_WIDTH 50
#define HEAD_HEIGHT 50
ChatItem::ChatItem(QString msg, int headId, ChatItem::ChatRole role, QWidget *parent):
QWidget(parent