QSimpleUpdater
1.下载
https://github.com/alex-spataru/QSimpleUpdater
2.功能
下载.json,比较版本,版本更新下载、安装。
3.使用
.h
1 QSimpleUpdater *m_updater;
.cpp
1 m_updater = QSimpleUpdater::getInstance(); 2 3 /* Check for updates when the "Check For Updates" button is clicked */ 4 connect(m_updater, SIGNAL(checkingFinished(QString)), this, SLOT(updateChangelog(QString))); 5 connect(m_updater, SIGNAL(appcastDownloaded(QString, QByteArray)), this, SLOT(displayAppcast(QString, QByteArray))); 6 7 m_updater->setModuleVersion(DEFS_URL, "0.1"); 8 m_updater->setNotifyOnFinish(DEFS_URL, true);//发送checkingFinished信号 9 m_updater->setNotifyOnUpdate(DEFS_URL, true); 10 m_updater->setUseCustomAppcast(DEFS_URL, false); //发送appcastDownloaded信号 11 m_updater->setDownloaderEnabled(DEFS_URL, true); 12 m_updater->setMandatoryUpdate(DEFS_URL, false);//强制更新 13 14 /* Check for updates */ 15 m_updater->checkForUpdates(DEFS_URL);
1 void QtWidgetsApplication16::updateChangelog(const QString &url) 2 { 3 if (url == DEFS_URL) 4 ui.textEdit->append(m_updater->getChangelog(url)); 5 } 6 void QtWidgetsApplication16::displayAppcast(const QString &url, const QByteArray &reply) 7 { 8 if (url == DEFS_URL) 9 { 10 QString text = "This is the downloaded appcast: <p><pre>" + QString::fromUtf8(reply) 11 + "</pre></p><p> If you need to store more information on the " 12 "appcast (or use another format), just use the " 13 "<b>QSimpleUpdater::setCustomAppcast()</b> function. " 14 "It allows your application to interpret the appcast " 15 "using your code and not QSU's code.</p>"; 16 17 ui.textEdit->append(text); 18 } 19 }
updates.json
1 { 2 "updates": { 3 "windows": { 4 "open-url": "", 5 "latest-version": "1.0", 6 "download-url": "http://123.57.19.140:9008/智慧牧场客户端1.5.exe", 7 "changelog": "", 8 "mandatory": true 9 }, 10 "osx": { 11 "open-url": "", 12 "latest-version": "1.0", 13 "download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg", 14 "changelog": "This is an example changelog for Mac OS X. Go on...", 15 "mandatory": true 16 }, 17 "linux": { 18 "open-url": "", 19 "latest-version": "1.0", 20 "download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg", 21 "changelog": "This is an example changelog for Linux. Go on...", 22 "mandatory": true 23 }, 24 "ios": { 25 "open-url": "", 26 "latest-version": "1.0", 27 "download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg", 28 "changelog": "This is an example changelog for iOS. Go on...", 29 "mandatory": true 30 }, 31 "android": { 32 "open-url": "", 33 "latest-version": "1.0", 34 "download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg", 35 "changelog": "This is an example changelog for Android. Go on...", 36 "mandatory": true 37 } 38 } 39 }
天道酬勤 循序渐进 技压群雄