当前位置:网站首页>仿QQ好友列表,QListWidget!
仿QQ好友列表,QListWidget!
2022-08-08 05:27:00 【Lee Neo】
仿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;
}
效果:

边栏推荐
猜你喜欢

浅学软件逆向笔记(1)

【Win10】Several sleep problems and countermeasures

Leetcode78. Subset

vulnhub-DC-3 drone penetration record

Servlet---ServletConfig类使用介绍

Leetcode78. 子集

Spark entry learning-3-SparkSQL data abstraction

How to batch import files and rename them all to the same file name

Mail online cobalstrike fishing

121 distributed interview questions and answers
随机推荐
KMP和EXKMP(Z函数)
Hundreds of billions, large-scale: performance tuning practice of Tencent's super-large Apache Pulsar cluster
Go-Excelize API源码阅读(十)—— SetActiveSheet(index int)
报错:[Intervention] Unable to preventDefault inside passive event listener due to target ...
Rust开发——Struct使用示例
postman---postman参数化
由联合体union引出的大小端问题
0字典树/字符串中等 LeetCode676. 实现一个魔法字典
OLTP和OLAP问题的个人总结
一小时掌握vim基础用法
Week 8 Transformer Language Models and Implications
【u-boot】u-boot的驱动模型分析
Leetcode sword 】 refers to the Offer (special commando) summary
【leetcode】剑指 Offer(专项突击版)汇总
浅学软件逆向笔记(1)
【着色器实现Tricolor三原色型变效果_Shader效果第十八篇】
Flatten multidimensional array to one dimension
wpf中DataGrid的样式
Leetcode78. Subset
预处理笔记