-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwidget.h
124 lines (93 loc) · 3.05 KB
/
widget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#ifndef WIDGET_H
#define WIDGET_H
#include <QMediaPlayer>
#include <QWidget>
#include <map>
#include <QTimer>
#include <QIcon>
#include <QKeyEvent>
#include <QLabel>
#include <QTcpSocket>
#include <QTextCodec>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkAccessManager>
#include <QNetworkReply>
#include "NetworkConfigWidget.h"
#include "changeshkins.h"
namespace Ui {
class Widget;
}
struct WidgetPrivate;
class Widget : public QWidget
{
//元对象系统宏(没有定义元对象系统旧用不了信号和槽函数)
//引入Qt信号和槽机制的一个宏
Q_OBJECT
public:
//默认参数初始化
explicit Widget(QWidget *parent = nullptr);
~Widget();
void ReadLRC(const QString& filepath);
void OnlinePlay();
void GetAccessToken();
//槽函数
public slots:
void PlayMusic();
void durationchanged();
void Positionchanged();
void SetLRC();
void LoadMusicFiles(const QString &path);
void LoadMusicListFromServer(const QString &path);
void muslistRecvJsonPktFmSvr(const QJsonObject& obj, const QString &path);
void musFileRecvJsonPcktFmSvr(const QJsonObject& obj,const QString &path);
void lrcRecvJsonPcktFmSvr(const QJsonObject& obj, const QString &path);
void pstRecvJsonPckFmSvr(const QJsonObject& obj, const QString &path);
void PlayStateChanged();
void DoubleClickedListWidget();
void DoubleClickedStreamWidgset();
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void NextBtnClicked();
void PrevBtnClicked();
void PlayTypeBtnClicked();
void ShowMusicInfo();
void ListcustomContextMenuRequested();
void AccessToken();
void Generate();
void GenerateReply();
private slots:
void on_verticalSlider_sliderMoved(int position);
void on_pushButton_close_clicked();
void on_pushButton_min_clicked();
void NetworkConfig();
void connectToServer();
void on_pushButton_color_clicked();
void on_pushButton_volume_clicked();
void setVolum();
void on_pushButton_love_clicked();
void on_pushButton_micro_clicked();
void recvAck(QNetworkReply *r);
void updataImage();
void on_pushButton_play_clicked();
void on_pushButton_chat_clicked();
private:
Ui::Widget *ui;
QMediaPlayer p;
WidgetPrivate *w;
std::map<long long,QString> LRCMap;
QTimer timer;
QString Dirpath;
int typeCount;
std::map<int,QIcon> PlayTypeMap;
QTcpSocket *socket;
QPoint dragStartPosition; //添加窗口拖拽功能
NetworkConfigWidget *ConfigWidget;
changeshkins *changeSkin = nullptr;
bool volumPressed=false; //音量键未被按下
bool isAreadyLike=false; //是否喜欢
int currentImageIndex; //当前图片下标
QStringList imagePath; //图片路径
QSize originalLabelSize; //原始图片尺寸
QTimer *imageTimeer; //图片轮换定时器
};
#endif // WIDGET_H