仿QQ好友列表,QListWidget!

 仿QQ好友列表,

 

设计逻辑:

设计qqItem类,再添加到widget中;

设计时布局等可以直接在ui中设计;内容设计通过代码实现;

  qqItem.cpp

#include "qqitem.h"
#include "ui_qqitem.h"

QQitem::QQitem(QString icon,bool flag,QString name,QWidget *parent) :
    QWidget(parent),
    ui(new Ui::QQitem)
{
    ui->setupUi(this);
    
    //设置头像;
    QImage image(icon);
    ui->icon->setPixmap(QPixmap::fromImage(image.scaled(ui->icon->width(),ui->icon->height())));
    
    //设置手机标识;
    if(flag)
    {
        QImage image1(":/icons/phone.png");
        ui->phone->setPixmap(QPixmap::fromImage(image1.scaled(ui->phone->width(),ui->phone->height())));
    }
    //设置名字
    ui->name->setText(name);
}

QQitem::~QQitem()
{
    delete ui;
}

 widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include "qqitem.h"
#include <QListWidgetItem>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
   ui->setupUi(this);
   this->setLayout(ui->verticalLayout);
   //实例化qqItem
    QQitem *qqItem = new QQitem(":/icons/icon0.jpg",1,"hxd1");
    QQitem *qqItem1 = new QQitem(":/icons/icon1.jpg",false,"疯子兰特");
    QQitem *qqItem2 = new QQitem(":/icons/icon2.jpg",1,"简单一点");

    //实例化ListWidgetItem;
    QListWidgetItem *item0 = new QListWidgetItem;
    QListWidgetItem *item1 = new QListWidgetItem;
    QListWidgetItem *item2 = new QListWidgetItem;

    //添加ListWidgetItem;
    ui->listWidget->addItem(item0);
    ui->listWidget->setItemWidget(item0,qqItem);
    ui->listWidget->addItem(item1);
    ui->listWidget->setItemWidget(item1,qqItem1);
    ui->listWidget->addItem(item2);
    ui->listWidget->setItemWidget(item2,qqItem2);

}

Widget::~Widget()
{
    delete ui;
}

效果:

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值