第一阶段初稿+修复部分内容
This commit is contained in:
@ -14,11 +14,12 @@
|
||||
#ifdef _DEBUG
|
||||
#pragma comment(lib, "Qt5Svgd.lib")
|
||||
#else
|
||||
#pragma comment(lib, "QtSvg.lib")
|
||||
#pragma comment(lib, "Qt5Svg.lib")
|
||||
#endif
|
||||
NavBar::NavBar(ConfigResponse *configResponse,QWidget *parent) :
|
||||
NavBar::NavBar(ConfigResponse *configResponse, MainScreen *mainScreen,QWidget *parent) :
|
||||
QWidget(parent), ui(new Ui::NavBar) {
|
||||
ui->setupUi(this);
|
||||
this->setAttribute(Qt::WA_DeleteOnClose);
|
||||
buffer = new QByteArray;
|
||||
if (configResponse->succeed&&configResponse->menus.empty()!=true) {
|
||||
getLogoFromInternet(configResponse);
|
||||
@ -37,6 +38,10 @@ NavBar::NavBar(ConfigResponse *configResponse,QWidget *parent) :
|
||||
x += height();
|
||||
buttons << myButton;
|
||||
}
|
||||
if (!buttonStructs.empty()) {
|
||||
connect(this, &NavBar::firstUrl, mainScreen, &MainScreen::firstUrl);
|
||||
emit firstUrl(buttonStructs[0].url);
|
||||
}
|
||||
}
|
||||
|
||||
NavBar::~NavBar() {
|
||||
@ -76,7 +81,7 @@ void NavBar::resizeEvent(QResizeEvent *event) {
|
||||
}
|
||||
void NavBar::getLogoFromInternet(ConfigResponse *configResponse) {
|
||||
qColor.setNamedColor(configResponse->basic.backgroud_color);
|
||||
QUrl url_logo(QString(BASE_URL) + configResponse->basic.logo_url);
|
||||
QUrl url_logo(configResponse->basic.logo_url);
|
||||
QNetworkRequest *request_logo = new QNetworkRequest(url_logo);
|
||||
manager = new QNetworkAccessManager;
|
||||
reply = manager->get(*request_logo);
|
||||
@ -84,24 +89,27 @@ void NavBar::getLogoFromInternet(ConfigResponse *configResponse) {
|
||||
timer.setInterval(5000);
|
||||
connect(reply, &QNetworkReply::finished, &eventLoop,&QEventLoop::quit);
|
||||
connect(&timer, &QTimer::timeout,this, &NavBar::cancelDownload);
|
||||
eventLoop.exec();
|
||||
timer.stop();
|
||||
buffer = new QByteArray;
|
||||
delete request_logo;
|
||||
if (downloadSuccess == true) {
|
||||
*buffer = reply->readAll();
|
||||
QSvgRenderer *render_logo = new QSvgRenderer(*buffer);
|
||||
logo = new QImage(200, 200, QImage::Format_ARGB32);
|
||||
logo = new QImage(400, 200, QImage::Format_ARGB32);
|
||||
QPainter painter_logo(logo);
|
||||
render_logo->render(&painter_logo);
|
||||
buffer->clear();
|
||||
for (auto button : configResponse->menus) {
|
||||
QUrl url_image(QString(BASE_URL) + button.img);
|
||||
QUrl url_image(button.img);
|
||||
QNetworkRequest *request_image = new QNetworkRequest(url_image);
|
||||
reply = manager->get(*request_image);
|
||||
QTimer timer;
|
||||
timer.setInterval(5000);
|
||||
connect(reply, &QNetworkReply::finished, &eventLoop, &QEventLoop::quit);
|
||||
connect(&timer, &QTimer::timeout, this, &NavBar::cancelDownload);
|
||||
eventLoop.exec();
|
||||
timer.stop();
|
||||
if (!downloadSuccess) {
|
||||
break;
|
||||
}
|
||||
@ -111,7 +119,7 @@ void NavBar::getLogoFromInternet(ConfigResponse *configResponse) {
|
||||
QPainter painter_image(image);
|
||||
render_image->render(&painter_image);
|
||||
|
||||
QUrl url_image_cover(QString(BASE_URL) + button.img_cover);
|
||||
QUrl url_image_cover(button.img_cover);
|
||||
QNetworkRequest *request_image_cover = new QNetworkRequest(url_image_cover);
|
||||
reply = manager->get(*request_image_cover);
|
||||
timer.setInterval(5000);
|
||||
|
Reference in New Issue
Block a user