-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
72 lines (58 loc) · 2.82 KB
/
main.cpp
File metadata and controls
72 lines (58 loc) · 2.82 KB
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
#include <QApplication>
#include "ElaApplication.h"
#include "ElaWindow.h"
#include "mainpage.h"
#include "setting.h"
#include "weather.h"
#include "bpm.h"
#include "preventalz.h"
#include "QThread"
#include "threadsocket.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
ElaApplication::getInstance()->init();
ElaWindow w;
QSize WindowSize (1150,500);
w.setMinimumSize(WindowSize);
w.setWindowTitle("健康守望者 智能颐养椅");
QIcon ico(":/icon/picture/轮椅.png");
w.setWindowIcon(ico);
w.setUserInfoCardPixmap(QPixmap(":/icon/picture/轮椅.png"));
//w.setUserInfoCardVisible(false);
w.setUserInfoCardTitle("未登录");
w.setUserInfoCardSubTitle("点击登录");
//多线程socket
QThread threadSocket;
ThreadSocket *socket = new ThreadSocket();
socket->setMainwindow(&w);//这里是把ElaWindow传入了Socket,偷了个懒,没有写到SIGNAL里面,不知道在多线程里会不会出错
socket->moveToThread(&threadSocket);
// QObject::connect(socket,SIGNAL(getForecastSignal(ThreadSocket::forecast*)),socket,SLOT(getForecast(ThreadSocket::forecast*)));
// QObject::connect(socket,SIGNAL(getliveIndexSignal(ThreadSocket::liveIndex*)),socket,SLOT(getliveIndex(ThreadSocket::liveIndex*)));
//connect(globalVal::socket,SIGNAL(getAqiSignal(ThreadSocket::aqi)),globalVal::socket,SLOT(getAqi(ThreadSocket::aqi)));
threadSocket.start();
// emit socket->setAddressSignal("127.0.0.1",55433);
emit socket->setAddressSignal("chair.cloudw233.uk",55433);
emit socket->connectSiganl();
mainPage *main_Page = new mainPage(socket);
QObject::connect(&w,&ElaWindow::userInfoCardClicked,main_Page,&mainPage::registrationPage);
QObject::connect(socket,SIGNAL(changeUserInfo(QString)),main_Page,SLOT(changeUserInfo(QString)));
QObject::connect(socket,&ThreadSocket::changeUserInfo,[&](const QString& username){
w.setUserInfoCardTitle(username);
w.setUserInfoCardSubTitle("欢迎您!");
});
QObject::connect(socket,&ThreadSocket::loginstate,main_Page,&mainPage::loginstate);
QObject::connect(socket,&ThreadSocket::signUpState,main_Page,&mainPage::signUpState);
w.addPageNode("主页",main_Page,ElaIconType::HouseChimneyMedical);
weather *weather_Page = new weather(socket);
w.addPageNode("天气",weather_Page,ElaIconType::SunCloud);
BPM *bpm_Page = new BPM(socket);
w.addPageNode("心率",bpm_Page,ElaIconType::HeartPulse);
preventALZ *preventALZ_Page = new preventALZ();
w.addPageNode("训练",preventALZ_Page,ElaIconType::HandHoldingMedical);
setting *setting_Page = new setting();
w.addPageNode("设置",setting_Page,ElaIconType::GearComplex);
QObject::connect(setting_Page,SIGNAL(GPSData(QString)),main_Page,SLOT(rcvGPSData(QString)));
w.show();
return a.exec();
}