最近写的有点烦躁, 感觉内容真的很多!很多!很多。

目前真的想知道网易官方在出这款产品是,用了多少人和多长时间。

今天写的这个消息中心,有点糙,只是原理实现了没有完全复制过来,心里有团火,不想写了。

看下效果吧

其实这个消息中心的内容到时很简单,最底层一个Qtabwidgte,构成@我、私信、评论和通知界面

每个界面里面嵌套一个QListWidget,完成消息内容的显示

每个QListWidget的Item都是一个自定义的Item

目前我只写了私信的界面,后面因为都是重复工作,就不想写了。但是这样就会错过很多细节的东西。

上代码

这是Item界面布局。

代码部分,目前就是这只两个mask

 ui->label_read_point->setMask(QRegion(0,0,10,10,QRegion::Ellipse));
ui->label_sixin_head->setMask(QRegion(0,0,50,50,QRegion::Ellipse));

  

整个消息界面如下图所示

没有过多的内容

看下代码部分

#include "messageform.h"
#include "ui_messageform.h" MessageForm::MessageForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::MessageForm)
{
ui->setupUi(this);
ui->tabWidget->setTabText(0,"@我");
ui->tabWidget->setTabText(1,"私信");
ui->tabWidget->setTabText(2,"评论");
ui->tabWidget->setTabText(3,"通知"); ui->listWidget_sixin->setStyleSheet("QListWidget{color:rgb(173,175,178); background:rgb(25,27,31,0);border:0px solid gray;}"
"QListWidget::Item{height:30px;border:0px solid gray;}"
"QListWidget::Item:hover{color:rgb(255,255,255);background:transparent;border:0px solid gray;}"
"QListWidget::Item:selected{ color:rgb(255,255,255);border:0px solid gray;}"
"QListWidget::Item:selected:active{background:#00FFFFFF;color:#FFFFFF;border-width:0;}"); sixinItem = new MessageForm_SiXin_Item;
MessageForm_SiXin_Item *sixinItem1 = new MessageForm_SiXin_Item;
QListWidgetItem *item = new QListWidgetItem(ui->listWidget_sixin);
ui->listWidget_sixin->addItem(item);
ui->listWidget_sixin->setItemWidget(item,sixinItem);
item->setSizeHint(QSize(0,60)); QListWidgetItem *item1 = new QListWidgetItem(ui->listWidget_sixin);
ui->listWidget_sixin->addItem(item1);
ui->listWidget_sixin->setItemWidget(item1,sixinItem1);
item1->setSizeHint(QSize(0,60)); } MessageForm::~MessageForm()
{
delete ui;
}
/*
* 绘制背景
*/
void MessageForm::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter_mainback(this);
painter_mainback.drawPixmap(0,0,this->width(),this->height(),QPixmap("./images/Messageform/mainback.png"));
}

  

这部分代码功能就是简单绘制了背景,设置了QListWidget的样式,和为QListWidget添加两个Item

希望后面的时间可以好好磨练自己,如果那天那个网友实现了这个消息部分的,可以联系我,给我分享一下,我是不想写了

另外,在后面规划从底层开始写一套智能家居的软件出来,有兴趣的可以加群一起努力。群号786235246

Qt-网易云音乐界面实现-7 消息中心实现,主要是QListWidget 自定义Item 和QTabwidget使用的更多相关文章

  1. Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏

    最近也换了公司,也换了新的工作,工资也象征性的涨了一点点,但是最近心里还是慌慌,不知道为什么,没有那种踏实感,感觉自己随时可以被抛弃的感觉.感觉自己在荒废时间,也感觉自己在浪费生命. 为了让自己在被抛 ...

  2. Qt-网易云音乐界面实现-5 收藏列表,播放列表实现 QListWidget QTableWidget

    先上目前完成的内容吧,发现后面越写越多.在看看点击量,心凉凉. 完成了左侧的导航列表,还有就是右下角的播放列表. //创建的歌单 my_Create_Music_List = new QListWid ...

  3. Android 开发之网易云音乐(或QQ音乐)的播放界面转盘和自定义SeekBar的实现

    这个东西我在eoeAndroid上首发的,但没有详细的实现说明:http://www.eoeandroid.com/thread-317901-1-1.html 在csdn上进行详细的说明吧.(同时上 ...

  4. Flutter仿网易云音乐:播放界面

    写在前头 本来是要做一个仿网易云音乐的flutter项目,但是因为最近事情比较多,项目周期跨度会比较长,因此分几个步骤来完成.这是仿网易云音乐项目系列文章的第一篇.没有完全照搬网易云音乐的UI,借鉴了 ...

  5. Qt-网易云音乐界面实现-2 红红的程序运行图标,和相似下方音乐条

    被调出来出差了,这次出差可以说是非常不开心,这次出差也算给我自己提了个醒吧,那就是注意自己的精力,自己的口碑,和比人对自己的信任.具体内容如下 我们公司有一款硬件的设备的电路是外包给某个人来做的,这个 ...

  6. python爬虫:了解JS加密爬取网易云音乐

    python爬虫:了解JS加密爬取网易云音乐 前言 大家好,我是"持之以恒_liu",之所以起这个名字,就是希望我自己无论做什么事,只要一开始选择了,那么就要坚持到底,不管结果如何 ...

  7. 高仿Android网易云音乐OkHttp+Retrofit+RxJava+Glide+MVC+MVVM

    简介 这是一个使用Java(以后还会推出Kotlin版本)语言,从0开发一个Android平台,接近企业级的项目(我的云音乐),包含了基础内容,高级内容,项目封装,项目重构等知识:主要是使用系统功能, ...

  8. Swift高仿iOS网易云音乐Moya+RxSwift+Kingfisher+MVC+MVVM

    效果 列文章目录 因为目录比较多,每次更新这里比较麻烦,所以推荐点击到主页,然后查看iOS Swift云音乐专栏. 目简介 这是一个使用Swift(还有OC版本)语言,从0开发一个iOS平台,接近企业 ...

  9. OC高仿iOS网易云音乐AFNetworking+SDWebImage+MJRefresh+MVC+MVVM

    效果 因为OC版本大部分截图和Swift版本一样,所以就不再另外截图了. 列文章目录 因为目录比较多,每次更新这里比较麻烦,所以推荐点击到主页,然后查看iOS云音乐专栏. 目简介 这是一个使用OC语言 ...

随机推荐

  1. 1. 安装Oracle,配置环境 2. 实现查询From子句 3. 实现查询where子句 4. 实现查询order by子句

    一.环境安装1. 登录:以管理员身份登录 sqlplus 登录名/密码 管理员身份登录:sqlplus system/1234562. 登录后,导入案例.下载scott.sql文件,执行下面一行的命令 ...

  2. 第八章 计时器(DIGCLOCK)

    /*-------------------------------------- DIGCLOCK.C -- Digital Clock (c) Charles Petzold, 1998 ----- ...

  3. November 20th 2016 Week 47th Sunday

    Learn from yesterday, live for today, look to tomorrow. 学习昨天,活在今天,展望明天. There is always room at the ...

  4. 用windows自带的fsutil修改稀疏文件大小成功,但文件内容似乎丢失

    fsutil sparse setflag. fsutil sparse setrange 10M对应字节,1G对应字节.. 看文件属性,实际尺寸是小了,但内容似乎也丢了..因为自己把该文件做成虚拟盘 ...

  5. 学习日期时间控件 daterangepicker

    aterangepicker 是一款日期时间控件,可选择“年,月,日,时,分,秒”,可选择单面板,也可选择双面板(起止时间). 单面板示例:daterangepicker 单面板 codepen 在线 ...

  6. Joinpoint继承体系-笔记

    Joinpoint继承层次图: 由上图可以知道的所有的接口的实现都在ReflectiveMethodInvocation这个类中.ConstructorInvocation接口只有一个方法,这个方法的 ...

  7. BZOJ1597:[USACO]土地购买(斜率优化DP)

    Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 < = 1,000 ...

  8. 1001. [BJOI2006]狼抓兔子【最小割】

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...

  9. pm2踩过的坑

    pm2实现一键部署,能将github上的代码拉到服务器,但是死活就是起不了服务. pm2部署命令: pm2 deploy ecosystem.json production setup pm2 dep ...

  10. 从CMDB查询云平台组件或者IP简单脚本

    #!/bin/bash#author xiaoweige#todo: ip -- > ingredient or ingredient -- > ip #todo: get the ip ...