仿QQ好友列表,QListWidget!

该博客介绍了如何使用Qt框架设计一个仿QQ好友列表的界面。通过创建QQitem类并将其添加到ListWidgetItem中,实现了包含头像、手机标识和名称的好友列表项。在代码中,详细展示了QQitem的构造函数以及在widget中实例化和布局的步骤,最终展示了一个简洁而直观的UI效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

效果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值