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:
Qt Code:
  1. #ifndef MINECRAFTSKINDOWNLOADER_H
  2. #define MINECRAFTSKINDOWNLOADER_H
  3.  
  4. #include <QMainWindow>
  5.  
  6. namespace Ui {
  7. class MinecraftSkinDownloader;
  8. }
  9.  
  10. class MinecraftSkinDownloader : public QMainWindow
  11. {
  12. Q_OBJECT
  13.  
  14. public:
  15. explicit MinecraftSkinDownloader(QWidget *parent = 0);
  16. ~MinecraftSkinDownloader();
  17.  
  18. private slots:
  19. void on_actionClose_triggered();
  20.  
  21. void on_pushButton_clicked();
  22.  
  23. void on_saveAs_clicked();
  24.  
  25. private:
  26. Ui::MinecraftSkinDownloader *ui;
  27.  
  28. };
  29.  
  30. #endif // MINECRAFTSKINDOWNLOADER_H
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. #include "minecraftskindownloader.h"
  2. #include <QApplication>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6. QApplication a(argc, argv);
  7. MinecraftSkinDownloader w;
  8. w.show();
  9.  
  10. return a.exec();
  11. }
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. #include "minecraftskindownloader.h"
  2. #include "ui_minecraftskindownloader.h"
  3. #include <QWidget>
  4. #include <QObject>
  5. #include <QtNetwork/QNetworkAccessManager>
  6. #include <QFileDialog>
  7. #include <QtNetwork/QNetworkRequest>
  8. #include <QDebug>
  9. #include <QUrl>
  10. #include <QFile>
  11.  
  12. MinecraftSkinDownloader::MinecraftSkinDownloader(QWidget *parent) :
  13. QMainWindow(parent),
  14. ui(new Ui::MinecraftSkinDownloader)
  15. {
  16. ui->setupUi(this);
  17. this->setWindowTitle("Minecraft Skin Downloader");
  18. setFixedSize(400, 200);
  19. }
  20.  
  21. MinecraftSkinDownloader::~MinecraftSkinDownloader()
  22. {
  23. delete ui;
  24. }
  25.  
  26. void MinecraftSkinDownloader::on_actionClose_triggered()
  27. {
  28. qApp->quit();
  29. }
  30. //http://s3.amazonaws.com/MinecraftSkins/USERNAMEHERE.png
  31.  
  32. void MinecraftSkinDownloader::on_pushButton_clicked()
  33. {
  34. QString prefix = "http://s3.amazonaws.com/MinecraftSkins/";
  35. QString url = prefix += ui->lineEdit->text();
  36. url += ".png";
  37.  
  38. ui->textEdit->setText(url); //Just testing the link part
  39.  
  40. QNetworkAccessManager *manager = new QNetworkAccessManager(this);
  41. connect(manager, SIGNAL(finished(QNetworkReply*)),
  42. SLOT(replyFinished(QNetworkReply*)));
  43.  
  44. manager->get(QNetworkRequest(QUrl(url)));
  45. }
  46.  
  47. void MinecraftSkinDownloader::on_saveAs_clicked()
  48. {
  49.  
  50. QString filename = QFileDialog::getSaveFileName(this, tr("Save As..."),
  51. "C:/Users/",
  52. tr("*.png"));
  53.  
  54. }
To copy to clipboard, switch view to plain text mode