Thanks for the reply, but I'm having a bit of trouble understanding the pseudo-code.. Where do I start with the readyRead() signal? I also decided to add a separate button for a "Save As" function.
Which is the QNetworkReply Object? I was thinking about storing everything in a QByteArray and then streaming that to the filebut I don't have an idea how to do that since I don't know what variable the downloaded data is stored..
I might as well and come out that I'm almost a complete beginner, starting QT only a couple days ago..
Here's my code so far:
#ifndef MINECRAFTSKINDOWNLOADER_H
#define MINECRAFTSKINDOWNLOADER_H
#include <QMainWindow>
namespace Ui {
class MinecraftSkinDownloader;
}
{
Q_OBJECT
public:
explicit MinecraftSkinDownloader
(QWidget *parent
= 0);
~MinecraftSkinDownloader();
private slots:
void on_actionClose_triggered();
void on_pushButton_clicked();
void on_saveAs_clicked();
private:
Ui::MinecraftSkinDownloader *ui;
};
#endif // MINECRAFTSKINDOWNLOADER_H
#ifndef MINECRAFTSKINDOWNLOADER_H
#define MINECRAFTSKINDOWNLOADER_H
#include <QMainWindow>
namespace Ui {
class MinecraftSkinDownloader;
}
class MinecraftSkinDownloader : public QMainWindow
{
Q_OBJECT
public:
explicit MinecraftSkinDownloader(QWidget *parent = 0);
~MinecraftSkinDownloader();
private slots:
void on_actionClose_triggered();
void on_pushButton_clicked();
void on_saveAs_clicked();
private:
Ui::MinecraftSkinDownloader *ui;
};
#endif // MINECRAFTSKINDOWNLOADER_H
To copy to clipboard, switch view to plain text mode
#include "minecraftskindownloader.h"
#include <QApplication>
int main(int argc, char *argv[])
{
MinecraftSkinDownloader w;
w.show();
return a.exec();
}
#include "minecraftskindownloader.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MinecraftSkinDownloader w;
w.show();
return a.exec();
}
To copy to clipboard, switch view to plain text mode
#include "minecraftskindownloader.h"
#include "ui_minecraftskindownloader.h"
#include <QWidget>
#include <QObject>
#include <QtNetwork/QNetworkAccessManager>
#include <QFileDialog>
#include <QtNetwork/QNetworkRequest>
#include <QDebug>
#include <QUrl>
#include <QFile>
MinecraftSkinDownloader
::MinecraftSkinDownloader(QWidget *parent
) : ui(new Ui::MinecraftSkinDownloader)
{
ui->setupUi(this);
this->setWindowTitle("Minecraft Skin Downloader");
setFixedSize(400, 200);
}
MinecraftSkinDownloader::~MinecraftSkinDownloader()
{
delete ui;
}
void MinecraftSkinDownloader::on_actionClose_triggered()
{
qApp->quit();
}
//http://s3.amazonaws.com/MinecraftSkins/USERNAMEHERE.png
void MinecraftSkinDownloader::on_pushButton_clicked()
{
QString prefix
= "http://s3.amazonaws.com/MinecraftSkins/";
QString url
= prefix
+= ui
->lineEdit
->text
();
url += ".png";
ui->textEdit->setText(url); //Just testing the link part
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
SLOT(replyFinished(QNetworkReply*)));
manager
->get
(QNetworkRequest
(QUrl(url
)));
}
void MinecraftSkinDownloader::on_saveAs_clicked()
{
"C:/Users/",
tr("*.png"));
}
#include "minecraftskindownloader.h"
#include "ui_minecraftskindownloader.h"
#include <QWidget>
#include <QObject>
#include <QtNetwork/QNetworkAccessManager>
#include <QFileDialog>
#include <QtNetwork/QNetworkRequest>
#include <QDebug>
#include <QUrl>
#include <QFile>
MinecraftSkinDownloader::MinecraftSkinDownloader(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MinecraftSkinDownloader)
{
ui->setupUi(this);
this->setWindowTitle("Minecraft Skin Downloader");
setFixedSize(400, 200);
}
MinecraftSkinDownloader::~MinecraftSkinDownloader()
{
delete ui;
}
void MinecraftSkinDownloader::on_actionClose_triggered()
{
qApp->quit();
}
//http://s3.amazonaws.com/MinecraftSkins/USERNAMEHERE.png
void MinecraftSkinDownloader::on_pushButton_clicked()
{
QString prefix = "http://s3.amazonaws.com/MinecraftSkins/";
QString url = prefix += ui->lineEdit->text();
url += ".png";
ui->textEdit->setText(url); //Just testing the link part
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl(url)));
}
void MinecraftSkinDownloader::on_saveAs_clicked()
{
QString filename = QFileDialog::getSaveFileName(this, tr("Save As..."),
"C:/Users/",
tr("*.png"));
}
To copy to clipboard, switch view to plain text mode
Bookmarks