1. 程式人生 > >Qt-網易雲音樂介面實現-7 訊息中心實現,主要是QListWidget 自定義Item 和QTabwidget使用

Qt-網易雲音樂介面實現-7 訊息中心實現,主要是QListWidget 自定義Item 和QTabwidget使用

最近寫的有點煩躁, 感覺內容真的很多!很多!很多。

目前真的想知道網易官方在出這款產品是,用了多少人和多長時間。

今天寫的這個訊息中心,有點糙,只是原理實現了沒有完全複製過來,心裡有團火,不想寫了。

看下效果吧


其實這個訊息中心的內容到時很簡單,最底層一個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使用

最近寫的有點煩躁, 感覺內容真的很多!很多!很多。目前真的想知道網易官方在出這款產品是,用了多少人和多長時間。今天寫的這個訊息中心,有點糙,只是原理實現了沒有完全複製過來,心裡有團火,不想寫了。看下效果吧其實這個訊息中心的內容到時很簡單,最底層一個Qtabwidgte,構成@

python利用音樂介面搭建的音樂推薦根據單曲歌名推薦相關使用者喜愛的歌曲

一、網易雲音樂的相關介面 這邊我想要的資料介面有: * 網易的搜尋功能,根據歌名獲取歌曲的id * 歌曲相關的評論使用者介面 * 使用者的相關資料包括歌單或聽歌記錄,這邊聽歌記錄的介面好像不能用,所以我就用的歌單介面 關於每個介面大家可以自己F12網易官網看看是長什麼樣子,

我用Python爬取音樂上的Hip-hop歌單分析rapper如何押韻

line gone 謠言 大致 -i 態度 大眾 其中 當前 緣起 《中國有嘻哈》這個節目在這個夏天吸引了無數的目光,也讓嘻哈走進了大眾的視野。作為我今年看的唯一一個綜藝節目,它對我的影響也蠻大。這個夏天,我基本都在杭州度過,在上下班的taxi上,我幾乎都在刷這個節目,最後

ubuntu 音樂版本 1.1 不能執行sudo執行後不能輸入中文

網易雲音樂現在官網已經出了1.1的版本了,但是剛剛裝上這個版本,卻不能執行,必須加上管理員許可權才能執行,但執行後卻不能在搜尋框中輸入中文。解決辦法是,在當前使用者的目錄裡找到 .cache資料夾,記住前面有個點,然後sudo chmod -R 777 nete

微信小程式 --- CSS實現仿音樂播放介面效果(黑膠唱片與唱針純CSS實現

下面程式碼的效果是網易雲音樂唱針和黑膠唱片的CSS效果實現方式,播放等並沒貼出來 實現效果的範圍 動態圖效果預覽: stylusW,panW是獲取系統寬度計算後的引數 w

Android ScrollView滾動實現大眾點評、音樂評論懸停效果

ins schema bar 音樂 layout mage for bin andro 今天聽著網易雲音樂,寫著代碼,真是爽翻了。 http://blog.csdn.net/linshijun33/article/details/47910833 網

用RotateDrawable實現音樂唱片機效果

image 不難 線程 們的 progress ogr icon 什麽 als 有一段時間沒有更新文章了,記得上一篇文章講的是《用ClipDrawable實現音頻錄制麥克風講話效果》,用戶反響也都還不錯,自己也是深受鼓勵。事實上從那之後就一直想寫一篇

零基礎實現音樂播放器

循環 case phone width shadow rec pda user res H5增加了很多的標簽,面試的時候,如果面試官問你H5都有哪些新標簽,你回答header、footer、nav。這麽回答幾乎是無效的,因為這些標簽在H5裏面的角色,相當於雞骨頭、魚刺、蘑菇

音樂數據交互—async&await實現版(完結篇)

mage mark 解決方案 必須 cat 留言 系列教程 自己 text 我們的網易雲音樂系列課,尾聲了,今天我們要將一個最重要的東西--關於ES7 async結合Fetch異步編程問題。 ES7 async/await被稱作異步編程的終極解決方案,我們先不管這個稱呼,咱

卡拉OK歌詞原理實現高仿Android音樂

大家好,我們是愛學啊,繼上一篇講解了【LRC歌詞原理和實現高仿Android網易雲音樂】,今天給大家帶來一篇關於卡拉OK歌詞原理和在Android上如何實現歌詞逐字滾動的效果,本文來自【Android開發專案實戰我的雲音樂】課程。 效果圖 相信大家都懂一張圖勝過千言萬語。 效果和現在市面上大部分播放

LRC歌詞原理實現高仿Android音樂

大家好,我們是愛學啊,今天給大家帶來一篇關於LRC歌詞原理和在Android上如何實現歌詞逐行滾動的效果,本文來自【Android開發專案實戰我的雲音樂】課程;逐字滾動下一篇文章講解。 效果圖 相信大家都懂一張圖勝過千言萬語。 效果和現在市面上大部分播放器差不多,當然如果要運用到商業專案中,肯定還需

Python解密音樂.ncm檔案將.ncm檔案轉換為.mp3檔案實現隨處播放(另附C++已編譯轉換器)

網易雲音樂把.mp3音樂檔案加密為.ncm檔案,導致不能將下載好的音樂複製到其它裝置或使用非網易雲音樂播放器播放,該程式可將.ncm檔案逆向解密為.mp3檔案並保留最高音質。 另有C++已編譯.exe轉換器,將.ncm檔案拖到.exe上直接執行轉換,生成.mp3檔案在.ncm檔案相同路徑。點選下

Qt模仿音樂 廣告Banner

文章目錄環境程式碼使用效果程式碼分享 環境 vs2013 + Qt5.6.2 程式碼 NetEasyBanner.h #ifndef NETEASYBANNER_H #define NETEASYBANNER_H #include <QWidget>

利用Python網路爬蟲實現音樂歌詞爬取

今天小編給大家分享網易雲音樂歌詞爬取方法。 本文的總體思路如下: 找到正確的URL,獲取原始碼; 利用bs4解析原始碼,獲取歌曲名和歌曲ID; 呼叫網易雲歌曲API,獲取歌詞; 將歌詞寫入檔案,並存入本地。 本文的目的是獲取網易雲音樂的歌詞,並將歌詞存入到本地檔案。整

音樂推薦系統簡單實現系列(1)

筆者最近面試到了網易新聞推薦部門,考了一點推薦系統的知識,算是被虐慘了。於是乎自己怒補了一些知識。記錄一點關於推薦系統的知識和實現。 音樂推薦系統,這裡的簡單指的是資料量級才2萬條,之後會詳細解釋。 1. 推薦系統工程師人才成長RoadMap

利用AudioContext來實現音樂的鯨魚音效

一直覺得網易雲音樂的使用者體驗是很不錯的,很早就注意到了裡面的鯨魚音效,如下圖,就是一個環形的跟著音樂節拍跳動的特效。 gif動圖可能效果不太理想,可以直接在手機上體驗 身為前端憑著本能的好奇心和探索心當然會研究一番,如何在頁面上實現該效果? 1.AudioCon

定義外掛實現音樂首頁圖片輪播

編寫html介面 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>網易雲音樂

Android仿音樂播放介面

概述 網易雲音樂是一款非常優秀的音樂播放器,尤其是播放介面,使用唱盤機風格,顯得格外古典優雅。這裡拋磚引玉,原文地址:http://www.jianshu.com/p/cb54990219d9 首先來看一下網易的播放效果。 要實現上面的功能,我們需要對介面進行一個拆分,

Android仿音樂中鎖屏後在開鎖介面插屏功能

這個功能實現起來應該有多種方式,可以使用WindowManager建立window的方法。 在本文中我們使用開啟一個Activity來充當鎖屏介面。 實現步驟有以下兩步: 一、後臺開啟一個Service,監聽螢幕鎖屏廣播。 二、當螢幕熄滅,收到廣播後,開啟充當鎖屏介面的Activity。 實

案例:用vue開發音樂(已實現線上播放下載)

效果如圖: 完整程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content