“跟紧上游”

This commit is contained in:
“shenmo” 2020-06-21 23:22:55 +08:00
parent 820d3243c2
commit dc5b4312ac
6 changed files with 662 additions and 512 deletions

View File

@ -4,7 +4,7 @@
# #
#------------------------------------------------- #-------------------------------------------------
QT += core gui webkitwidgets network QT += core gui webkitwidgets network concurrent
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

View File

@ -59,6 +59,6 @@ void downloadlist::setFileName(QString fileName)
void downloadlist::on_pushButton_clicked() void downloadlist::on_pushButton_clicked()
{ {
system("deepin-deb-installer "+ui->label_filename->text().toUtf8()+"&"); system("deepin-terminal -e sudo dpkg -i ./"+ui->label_filename->text().toUtf8()+" && sudo apt install -f");
qDebug()<<ui->label_filename->text().toUtf8(); qDebug()<<ui->label_filename->text().toUtf8();
} }

25
urls.h
View File

@ -1,15 +1,16 @@
#ifndef URLS_H #ifndef URLS_H
#define URLS_H #define URLS_H
#define URL_MAIN "http://store2.shenmo.tech/store/" #define URL_MAIN "http://127.0.0.1:8000"
#define URL_NETWORK "http://store2.shenmo.tech/store/network/" #define URL_NETWORK "https://mirrors.huaweicloud.com/deepin/"
#define URL_CHAT "http://store2.shenmo.tech/store/chat/" #define URL_CHAT "https://mirrors.huaweicloud.com/deepin/"
#define URL_MUSIC "http://store2.shenmo.tech/store/music" #define URL_MUSIC "https://mirrors.huaweicloud.com/deepin/"
#define URL_VIDEO "http://store2.shenmo.tech/store/video" #define URL_VIDEO "https://mirrors.huaweicloud.com/deepin/"
#define URL_PHOTO "http://store2.shenmo.tech/store/image_graphic/" #define URL_PHOTO "https://mirrors.huaweicloud.com/deepin/"
#define URL_GAME "http://store2.shenmo.tech/store/games/" #define URL_GAME "https://mirrors.huaweicloud.com/deepin/"
#define URL_OFFICE "http://store2.shenmo.tech/store/" #define URL_OFFICE "https://mirrors.huaweicloud.com/deepin/"
#define URL_READ "http://store2.shenmo.tech/store/reading/" #define URL_READ "https://mirrors.huaweicloud.com/deepin/"
#define URL_DEV "http://store2.shenmo.tech/store/development/" #define URL_DEV "https://mirrors.huaweicloud.com/deepin/"
#define URL_SYSTEM "http://store2.shenmo.tech/store/tools/" #define URL_SYSTEM "https://mirrors.huaweicloud.com/deepin/"
#define URL_OTHER "http://store2.shenmo.tech/store/others/" #define URL_OTHER "http://store2.shenmo.tech:8000/store/tools/"
#define URL_THEME "https://mirrors.huaweicloud.com/deepin"
#endif // URLS_H #endif // URLS_H

View File

@ -5,8 +5,6 @@
#include <QNetworkReply> #include <QNetworkReply>
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QGridLayout>
#include <QListWidgetItem>
#include "urls.h" #include "urls.h"
#include <QDir> #include <QDir>
#include <QProcess> #include <QProcess>
@ -15,6 +13,7 @@
#include <QJsonObject> #include <QJsonObject>
#include <QByteArray> #include <QByteArray>
#include <QPixmap> #include <QPixmap>
#include <QtConcurrent> //并发
Widget::Widget(QWidget *parent) : Widget::Widget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::Widget) ui(new Ui::Widget)
@ -58,63 +57,17 @@ void Widget::on_webView_linkClicked(const QUrl &arg1)
//成功得到json文件 //成功得到json文件
qDebug()<<"成功得到"; qDebug()<<"成功得到";
QByteArray json_array=app_json.readAll(); QByteArray json_array=app_json.readAll();
QString urladdress=arg1.toString().left(arg1.toString().length()-8); urladdress=arg1.toString().left(arg1.toString().length()-8);
QJsonObject json= QJsonDocument::fromJson(json_array).object(); QJsonObject json= QJsonDocument::fromJson(json_array).object();
appName = json["name"].toString(); appName = json["name"].toString();
url=urladdress + json["filename"].toString(); url=urladdress + json["filename"].toString();
qDebug()<<appName; qDebug()<<appName;
ui->stackedWidget->setCurrentIndex(2); ui->stackedWidget->setCurrentIndex(2);
ui->label_appname->setText(appName); ui->label_appname->setText(appName);
//图标加载
get_json.start("wget -O icon.png "+urladdress+"icon.png"); QtConcurrent::run([=](){
get_json.waitForFinished(); loadappinfo(json);
QPixmap appicon; });
appicon.load("icon.png");
ui->label_appicon->setPixmap(appicon);
//软件信息加载
QString info;
info="版本号:"+json["version"].toString()+"\n";
info+="作者:"+json["author"].toString()+"\n";
info+="官网:"+json["website"].toString()+"\n";
ui->label_info->setText(info);
ui->label_more->setText(json["more"].toString());
//截图加载
get_json.start("wget -O screen_1.png "+urladdress+"screen_1.png");
get_json.waitForFinished();
get_json.start("wget -O screen_2.png "+urladdress+"screen_2.png");
get_json.waitForFinished();
get_json.start("wget -O screen_3.png "+urladdress+"screen_3.png");
get_json.waitForFinished();
get_json.start("wget -O screen_4.png "+urladdress+"screen_4.png");
get_json.waitForFinished();
get_json.start("wget -O screen_5.png "+urladdress+"screen_5.png");
get_json.waitForFinished();
QPixmap screen[5];
if(screen[0].load("screen_1.png")){
ui->screen_1->show();
ui->screen_1->setPixmap(screen[0]);
ui->screen_1->setScaledContents(true);
}
if(screen[1].load("screen_2.png")){
ui->screen_2->show();
ui->screen_2->setPixmap(screen[1]);
ui->screen_2->setScaledContents(true);
}
if(screen[2].load("screen_3.png")){
ui->screen_3->show();
ui->screen_3->setPixmap(screen[2]);
ui->screen_3->setScaledContents(true);
}
if(screen[3].load("screen_4.png")){
ui->screen_4->show();
ui->screen_4->setPixmap(screen[3]);
ui->screen_4->setScaledContents(true);
}
if(screen[4].load("screen_5.png")){
ui->screen_5->show();
ui->screen_5->setPixmap(screen[4]);
ui->screen_5->setScaledContents(true);
}
} }
@ -139,7 +92,6 @@ void Widget::on_pushButton_clicked()
urList.append(url); urList.append(url);
download_list[allDownload-1].setName(appName); download_list[allDownload-1].setName(appName);
download_list[allDownload-1].setFileName(fileName); download_list[allDownload-1].setFileName(fileName);
if(!isBusy){ if(!isBusy){
file = new QFile(fileName); file = new QFile(fileName);
if(!file->open(QIODevice::WriteOnly)) if(!file->open(QIODevice::WriteOnly))
@ -171,6 +123,71 @@ void Widget::closeList(int)
{ {
} }
void Widget::loadappinfo(QJsonObject json)
{
ui->label_show->setText("正在加载,请稍候");
ui->label_show->show();
QPixmap pixmap_null;
ui->label_appicon->setPixmap(pixmap_null);
ui->screen_1->setPixmap(pixmap_null);
ui->screen_2->setPixmap(pixmap_null);
ui->screen_3->setPixmap(pixmap_null);
ui->screen_4->setPixmap(pixmap_null);
ui->screen_5->setPixmap(pixmap_null);
QProcess get_json;
//图标加载
get_json.start("wget -O icon.png "+urladdress+"icon.png");
get_json.waitForFinished();
QPixmap appicon;
qDebug()<<appicon.load("icon.png");
ui->label_appicon->setPixmap(appicon);
//软件信息加载
QString info;
info="版本号:"+json["version"].toString()+"\n";
info+="作者:"+json["author"].toString()+"\n";
info+="官网:"+json["website"].toString()+"\n";
ui->label_info->setText(info);
ui->label_more->setText(json["more"].toString());
QPixmap screen[5];
get_json.start("wget -O screen_1.png "+urladdress+"screen_1.png");
get_json.waitForFinished();
if(screen[0].load("screen_1.png")){
ui->screen_1->show();
ui->screen_1->setPixmap(screen[0]);
ui->screen_1->setScaledContents(true);
}
get_json.start("wget -O screen_2.png "+urladdress+"screen_2.png");
get_json.waitForFinished();
if(screen[1].load("screen_2.png")){
ui->screen_2->show();
ui->screen_2->setPixmap(screen[1]);
ui->screen_2->setScaledContents(true);
}
get_json.start("wget -O screen_3.png "+urladdress+"screen_3.png");
get_json.waitForFinished();
if(screen[2].load("screen_3.png")){
ui->screen_3->show();
ui->screen_3->setPixmap(screen[2]);
ui->screen_3->setScaledContents(true);
}
get_json.start("wget -O screen_4.png "+urladdress+"screen_4.png");
get_json.waitForFinished();
if(screen[3].load("screen_4.png")){
ui->screen_4->show();
ui->screen_4->setPixmap(screen[3]);
ui->screen_4->setScaledContents(true);
}
get_json.start("wget -O screen_5.png "+urladdress+"screen_5.png");
get_json.waitForFinished();
if(screen[4].load("screen_5.png")){
ui->screen_5->show();
ui->screen_5->setPixmap(screen[4]);
ui->screen_5->setScaledContents(true);
}
ui->label_show->setText("");
ui->label_show->hide();
}
void Widget::httpReadyRead() void Widget::httpReadyRead()
{ {
if(file) if(file)
@ -282,8 +299,8 @@ void Widget::on_menu_btn_network_clicked() //网络应用
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_NETWORK)); ui->webView->setUrl(QUrl(URL_NETWORK));
} }
void Widget::on_menu_btn_chat_clicked()//社交沟通 void Widget::on_menu_btn_chat_clicked()//社交沟通
{ {
@ -346,6 +363,8 @@ void Widget::on_menu_btn_music_clicked()//音乐欣赏
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_MUSIC)); ui->webView->setUrl(QUrl(URL_MUSIC));
} }
@ -378,6 +397,8 @@ void Widget::on_menu_btn_video_clicked()//视频播放
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_VIDEO)); ui->webView->setUrl(QUrl(URL_VIDEO));
} }
@ -410,6 +431,8 @@ void Widget::on_menu_btn_photo_clicked()//图形图像
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_PHOTO)); ui->webView->setUrl(QUrl(URL_PHOTO));
} }
@ -442,6 +465,8 @@ void Widget::on_menu_btn_game_clicked()//游戏娱乐
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_GAME)); ui->webView->setUrl(QUrl(URL_GAME));
} }
@ -474,6 +499,8 @@ void Widget::on_menu_btn_office_clicked()//办公学习
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_OFFICE)); ui->webView->setUrl(QUrl(URL_OFFICE));
} }
@ -506,6 +533,8 @@ void Widget::on_menu_btn_read_clicked()//阅读翻译
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_READ)); ui->webView->setUrl(QUrl(URL_READ));
} }
@ -538,6 +567,8 @@ void Widget::on_menu_btn_dev_clicked()//编程开发
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_DEV)); ui->webView->setUrl(QUrl(URL_DEV));
} }
@ -570,6 +601,8 @@ void Widget::on_menu_btn_system_clicked()//系统管理
ui->menu_btn_dev->setStyleSheet(""); ui->menu_btn_dev->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_SYSTEM)); ui->webView->setUrl(QUrl(URL_SYSTEM));
} }
@ -602,6 +635,8 @@ void Widget::on_menu_btn_other_clicked()//其他软件
ui->menu_btn_dev->setStyleSheet(""); ui->menu_btn_dev->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_download->setStyleSheet(""); ui->menu_btn_download->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_OTHER)); ui->webView->setUrl(QUrl(URL_OTHER));
} }
@ -634,9 +669,58 @@ void Widget::on_menu_btn_download_clicked()
ui->menu_btn_system->setStyleSheet(""); ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet(""); ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_network->setStyleSheet(""); ui->menu_btn_network->setStyleSheet("");
ui->menu_btn_theme->setStyleSheet("");
ui->menu_bg_theme->setStyleSheet("");//蓝色
ui->stackedWidget->setCurrentIndex(1); ui->stackedWidget->setCurrentIndex(1);
} }
void Widget::on_pushButton_2_clicked() void Widget::on_pushButton_2_clicked()
{ {
ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(0);
} }
void Widget::on_webView_loadStarted()
{
ui->label_show->setText("正在加载,请稍候");
ui->label_show->show();
}
void Widget::on_webView_loadFinished(bool arg1)
{
ui->label_show->setText("");
ui->label_show->hide();
}
void Widget::on_menu_btn_theme_clicked()
{
ui->menu_btn_theme->setStyleSheet("color:#FFFFFF");
ui->menu_bg_theme->setStyleSheet("background-color:#0081FF;border-radius:8");//蓝色
//取消其他样式
ui->menu_bg_dev->setStyleSheet("");
ui->menu_bg_chat->setStyleSheet("");
ui->menu_bg_game->setStyleSheet("");
ui->menu_bg_read->setStyleSheet("");
ui->menu_bg_music->setStyleSheet("");
ui->menu_bg_other->setStyleSheet("");
ui->menu_bg_photo->setStyleSheet("");
ui->menu_bg_video->setStyleSheet("");
ui->menu_bg_office->setStyleSheet("");
ui->menu_bg_system->setStyleSheet("");
ui->menu_bg_main->setStyleSheet("");
ui->menu_bg_network->setStyleSheet("");
ui->menu_btn_dev->setStyleSheet("");
ui->menu_btn_chat->setStyleSheet("");
ui->menu_btn_game->setStyleSheet("");
ui->menu_btn_read->setStyleSheet("");
ui->menu_btn_music->setStyleSheet("");
ui->menu_btn_other->setStyleSheet("");
ui->menu_btn_photo->setStyleSheet("");
ui->menu_btn_video->setStyleSheet("");
ui->menu_btn_office->setStyleSheet("");
ui->menu_btn_system->setStyleSheet("");
ui->menu_btn_main->setStyleSheet("");
ui->menu_btn_network->setStyleSheet("");
ui->menu_bg_download->setStyleSheet("");
ui->menu_btn_download->setStyleSheet("");
ui->stackedWidget->setCurrentIndex(0);
ui->webView->setUrl(QUrl(URL_THEME));
}

View File

@ -7,6 +7,8 @@
#include <QNetworkReply> #include <QNetworkReply>
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
#include <downloadlist.h> #include <downloadlist.h>
#include <QJsonObject>
#include <QProcess>
#define LIST_MAX 99 #define LIST_MAX 99
namespace Ui { namespace Ui {
class Widget; class Widget;
@ -24,6 +26,8 @@ public:
int allDownload=0; int allDownload=0;
int isdownload=false; int isdownload=false;
void closeList(int); void closeList(int);
void loadappinfo(QJsonObject);
private slots: private slots:
void on_webView_linkClicked(const QUrl &arg1); void on_webView_linkClicked(const QUrl &arg1);
@ -62,6 +66,12 @@ private slots:
void on_pushButton_2_clicked(); void on_pushButton_2_clicked();
void on_webView_loadStarted();
void on_webView_loadFinished(bool arg1);
void on_menu_btn_theme_clicked();
private: private:
QUrl url; QUrl url;
bool isBusy=false; bool isBusy=false;
@ -72,6 +82,8 @@ private:
QList<QUrl> urList; QList<QUrl> urList;
QFile *file; QFile *file;
QString appName; QString appName;
QString urladdress;
}; };

937
widget.ui
View File

@ -6,17 +6,14 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>881</width> <width>943</width>
<height>581</height> <height>640</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QGridLayout" name="gridLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>0</number>
</property> </property>
@ -29,7 +26,446 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item row="0" column="1">
<widget class="QStackedWidget" name="stackedWidget">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWebView" name="webView">
<property name="url">
<url>
<string>https://bbs.deepin.org/</string>
</url>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color:#FFFFFF</string>
</property>
<property name="text">
<string>当前下载列表为空</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listWidget">
<property name="lineWidth">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_3">
<layout class="QVBoxLayout" name="verticalLayout_16">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="styleSheet">
<string notr="true">c</string>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>299</width>
<height>945</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_17">
<item>
<widget class="QWidget" name="widget_3" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>300</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QPushButton" name="pushButton_2">
<property name="maximumSize">
<size>
<width>40</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>&lt;</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>60</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>70</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>安装</string>
</property>
</widget>
</item>
<item row="4" column="1" rowspan="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_appname">
<property name="font">
<font>
<family>Bitstream Charter</family>
<pointsize>22</pointsize>
</font>
</property>
<property name="text">
<string>软件名</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_appicon">
<property name="minimumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-radius:10px;</string>
</property>
<property name="text">
<string>图标</string>
</property>
</widget>
</item>
<item row="1" column="3" rowspan="4">
<widget class="QLabel" name="label_info">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_4" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>370</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>370</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_18">
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_9">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>软件截图</string>
</property>
</widget>
</item>
<item>
<widget class="QScrollArea" name="scrollArea_appicture">
<property name="lineWidth">
<number>0</number>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>376</width>
<height>325</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="screen_1">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_3">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_4">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_5">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_5" native="true">
<layout class="QVBoxLayout" name="verticalLayout_19">
<item>
<widget class="QLabel" name="label_10">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>详细介绍</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_more">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;详细介绍&lt;/p&gt;&lt;p&gt;由社区爱好者开发的软件商店&lt;/p&gt;&lt;p&gt;1212121&lt;/p&gt;&lt;p&gt;12121212&lt;/p&gt;&lt;p&gt;121212&lt;/p&gt;&lt;p&gt;121212&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QWidget" name="widget" native="true"> <widget class="QWidget" name="widget" native="true">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -567,6 +1003,52 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QWidget" name="menu_bg_theme" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_20">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QToolButton" name="menu_btn_theme">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>主题美化</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<widget class="QWidget" name="menu_bg_other" native="true"> <widget class="QWidget" name="menu_bg_other" native="true">
<property name="minimumSize"> <property name="minimumSize">
@ -694,443 +1176,14 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item row="1" column="1">
<widget class="QStackedWidget" name="stackedWidget"> <widget class="QLabel" name="label_show">
<property name="styleSheet"> <property name="text">
<string notr="true"/> <string/>
</property> </property>
<property name="lineWidth"> <property name="alignment">
<number>0</number> <set>Qt::AlignCenter</set>
</property> </property>
<property name="currentIndex">
<number>2</number>
</property>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWebView" name="webView">
<property name="url">
<url>
<string>https://bbs.deepin.org/</string>
</url>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color:#FFFFFF</string>
</property>
<property name="text">
<string>当前下载列表为空</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listWidget">
<property name="lineWidth">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_3">
<layout class="QVBoxLayout" name="verticalLayout_16">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="styleSheet">
<string notr="true">c</string>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>-366</y>
<width>729</width>
<height>945</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_17">
<item>
<widget class="QWidget" name="widget_3" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>300</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QPushButton" name="pushButton_2">
<property name="maximumSize">
<size>
<width>40</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>&lt;</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>60</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>70</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>安装</string>
</property>
</widget>
</item>
<item row="4" column="1" rowspan="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_appname">
<property name="font">
<font>
<family>Bitstream Charter</family>
<pointsize>22</pointsize>
</font>
</property>
<property name="text">
<string>软件名</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_appicon">
<property name="minimumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-radius:10px;</string>
</property>
<property name="text">
<string>图标</string>
</property>
</widget>
</item>
<item row="1" column="3" rowspan="4">
<widget class="QLabel" name="label_info">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;版本号:&lt;/p&gt;&lt;p&gt;投递者:&lt;/p&gt;&lt;p&gt;开发者:&lt;/p&gt;&lt;p&gt;二次维护者:&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_4" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>370</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>370</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_18">
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_9">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>软件截图</string>
</property>
</widget>
</item>
<item>
<widget class="QScrollArea" name="scrollArea_appicture">
<property name="lineWidth">
<number>0</number>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>695</width>
<height>325</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="screen_1">
<property name="minimumSize">
<size>
<width>200</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_3">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_4">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="screen_5">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>400</width>
<height>300</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_5" native="true">
<layout class="QVBoxLayout" name="verticalLayout_19">
<item>
<widget class="QLabel" name="label_10">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>详细介绍</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_more">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;详细介绍&lt;/p&gt;&lt;p&gt;由社区爱好者开发的软件商店&lt;/p&gt;&lt;p&gt;1212121&lt;/p&gt;&lt;p&gt;12121212&lt;/p&gt;&lt;p&gt;121212&lt;/p&gt;&lt;p&gt;121212&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>