#include "mywidget.h" #define defaultimg ":/Images/ChatArea/Default_headimg.png" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { } void MyWidget::init(const QString &icon, const QString &name, const QString &data, const QString &text,const int msgNum) { LabelMyHead.setStyleSheet("border-radius:5px;"); LabelMyHead.setMaximumSize(QSize(45,45)); if(icon.size() > 5) LabelMyHead.setPixmap(QPixmap(icon).scaled(45, 45, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); else LabelMyHead.setPixmap(QPixmap(QString(defaultimg)).scaled(45, 45, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); LabelName.setMaximumWidth(70); LabelName.setText(name); LabelData.setText(data); if(text.length() > 8) LabelText.setText(QString("%1...").arg(text.left(8))); else LabelText.setText(text); LabelMsgNum.setMaximumSize(QSize(22,22)); LabelMsgNum.setMinimumSize(QSize(22,22)); if(msgNum > 0) { LabelMsgNum.setStyleSheet("background-color:rgba(0,0,0,0);color:rgb(255,255,255);border-image: url(:Images/Home/img_msg_num.png);"); LabelMsgNum.setAlignment(Qt::AlignCenter); if(msgNum > 99) LabelMsgNum.setText(QString("99+")); else LabelMsgNum.setText(QString("%1").arg(msgNum)); } else { LabelMsgNum.setStyleSheet("background-color:rgba(0,0,0,0);"); } QVBoxLayout *vLayout = new QVBoxLayout(); QHBoxLayout *hLayout = new QHBoxLayout(); QHBoxLayout *hLayout1 = new QHBoxLayout(); QHBoxLayout *hLayout2 = new QHBoxLayout(); hLayout->addWidget(&LabelName,1); hLayout->addWidget(&LabelData,1); hLayout2->addWidget(&LabelText,8); hLayout2->addWidget(&LabelMsgNum,2); vLayout->addLayout(hLayout,1); vLayout->addLayout(hLayout2,1); hLayout1->addWidget(&LabelMyHead,1); hLayout1->addLayout(vLayout,3); this->setLayout(hLayout1); LabelName.setStyleSheet("background-color:rgba(0,0,0,0);"); LabelData.setStyleSheet("background-color:rgba(0,0,0,0);color:rgb(100,100,100);"); LabelText.setStyleSheet("background-color:rgba(0,0,0,0);color:rgb(100,100,100);"); LabelData.setAlignment(Qt::AlignRight); } void MyWidget::SetSize(int w,int h) { }