Skip to content

Commit

Permalink
完成第一版,实现360和腾讯软件库应用查询下载
Browse files Browse the repository at this point in the history
  • Loading branch information
lighterEB committed Dec 17, 2020
1 parent d757f2a commit 32216ba
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 329 deletions.
1 change: 1 addition & 0 deletions main/DownLoadWin.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ def setupUi(self, Form):
Form.resize(360, 126)
Form.setMinimumSize(QtCore.QSize(360, 126))
Form.setMaximumSize(QtCore.QSize(360, 126))
Form.setWindowIcon(QtGui.QIcon(QtGui.QPixmap("./src/images/ico.png")))
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(140, 100, 75, 21))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
Expand Down
6 changes: 5 additions & 1 deletion main/Main.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import MainWin
from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import QPalette, QBrush, QPixmap, QIcon
import sys
import DownloadWin

if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = MainWin.MainWin()
pelette = QPalette()
pelette.setBrush(QPalette.Background, QBrush(QPixmap("./src/images/bkg.jpg")))
mainWin.setPalette(pelette)
mainWin.setWindowIcon(QIcon(QPixmap("./src/images/ico.png")))
mainWin.show()
sys.exit(app.exec_())
33 changes: 0 additions & 33 deletions main/Main.spec

This file was deleted.

82 changes: 52 additions & 30 deletions main/MainWin.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ def setupUi(self, MainWindow):
MainWindow.setSizePolicy(sizePolicy)
MainWindow.setMinimumSize(QtCore.QSize(1196, 640))
MainWindow.setMaximumSize(QtCore.QSize(1196, 640))
MainWindow.setAutoFillBackground(True)
self.tipLabel = QtWidgets.QLabel(MainWindow)
self.tipLabel.setGeometry(QtCore.QRect(1000, 590, 141, 31))
self.tipLabel.setText("")
self.tipLabel.setStyleSheet("font-family:'黑体'; font-size: 14px")
self.tipLabel.setObjectName("tipLabel")
self.tableWidget = QtWidgets.QTableWidget(MainWindow)
self.tableWidget.setGeometry(QtCore.QRect(20, 90, 1156, 490))
Expand Down Expand Up @@ -60,6 +62,8 @@ def setupUi(self, MainWindow):
sizePolicy.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
self.lineEdit.setSizePolicy(sizePolicy)
self.lineEdit.setObjectName("lineEdit")
self.lineEdit.setClearButtonEnabled(True)
self.lineEdit.setStyleSheet("border: 3px solid black;font-size: 20px")
self.horizontalLayout.addWidget(self.lineEdit)
self.searchButton = QtWidgets.QPushButton(self.widget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
Expand All @@ -78,11 +82,13 @@ def setupUi(self, MainWindow):
self.horizontalLayout.addWidget(self.line)
self.label = QtWidgets.QLabel(self.widget)
self.label.setObjectName("label")
self.label.setStyleSheet("color: white; font-size:16px")
self.horizontalLayout.addWidget(self.label)
self.comboBox = QtWidgets.QComboBox(self.widget)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.setStyleSheet("color: blue")
self.horizontalLayout.addWidget(self.comboBox)
self.line_2 = QtWidgets.QFrame(self.widget)
self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
Expand All @@ -91,6 +97,7 @@ def setupUi(self, MainWindow):
self.horizontalLayout.addWidget(self.line_2)
self.horizontalLayout.setStretch(0, 2)


self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

Expand All @@ -116,6 +123,7 @@ def __init__(self):

# 绑定搜索按钮信号槽
self.searchButton.clicked.connect(self.searchAppInfo)
self.lineEdit.returnPressed.connect(self.searchAppInfo)
# 查询软件相关信息功能返回字典
def searchAppInfo(self):
# 获取选择控件文字
Expand Down Expand Up @@ -144,40 +152,47 @@ def flushTableWidget(self, lst):
self.downloadButton = QtWidgets.QPushButton()
# 设置下载按钮图片
self.downloadButton.setIcon(QtGui.QIcon("./src/images/download.png"))
self.downloadButton.setStyleSheet("background-color: #5A9BB3")

# 创建窗口对象
self.headWidget = QtWidgets.QWidget()
# 创建图像标签对象
self.imgLabel = QtWidgets.QLabel()
# 将解析的logo片放入图像标签
self.imgLabel.setPixmap(v[6])
# 创建文字标签
self.textLabel = QtWidgets.QLabel()
# 设置应用名称到文字标签
self.textLabel.setText(k[0])
# 创建水平布局,讲窗口对象放进此布局
self.hLayout = QtWidgets.QHBoxLayout(self.headWidget)
# 将图像标签放入窗口对象所在布局并设置居中
self.hLayout.addWidget(self.imgLabel, 0, QtCore.Qt.AlignCenter)
# 将文字标签放入窗口对象所在布局
self.hLayout.addWidget(self.textLabel)
# 将窗口对象添加到每行第一个单元格
self.tableWidget.setCellWidget(MainWin.row, 0, self.headWidget)
# 设置单元格高度
self.tableWidget.setRowHeight(MainWin.row, 68)
# 放置项目到对应单元格
self.tableWidget.setItem(MainWin.row, 0, v[0])
self.tableWidget.setItem(MainWin.row, 1, v[1])
self.tableWidget.setItem(MainWin.row, 2, v[2])
self.tableWidget.setItem(MainWin.row, 3, v[3])
self.tableWidget.setItem(MainWin.row, 4, v[4])
self.tableWidget.setItem(MainWin.row, 5, v[5])
self.tableWidget.setCellWidget(MainWin.row, 6, self.downloadButton)
# 给下载按钮建立信号槽
self.downloadButton.clicked.connect(self.download)
try:
self.imgLabel.setScaledContents(True)
self.imgLabel.setPixmap(v[6])
# 创建文字标签
self.textLabel = QtWidgets.QLabel()
# 设置应用名称到文字标签
self.textLabel.setText(k[0])
# 创建水平布局,讲窗口对象放进此布局
self.hLayout = QtWidgets.QHBoxLayout(self.headWidget)
# 将图像标签放入窗口对象所在布局并设置居中
self.hLayout.addWidget(self.imgLabel, 0, QtCore.Qt.AlignCenter)
# 将文字标签放入窗口对象所在布局
self.hLayout.addWidget(self.textLabel)
# 将窗口对象添加到每行第一个单元格
self.tableWidget.setCellWidget(MainWin.row, 0, self.headWidget)
# 设置单元格高度
self.tableWidget.setRowHeight(MainWin.row, 68)
# 放置项目到对应单元格
self.tableWidget.setItem(MainWin.row, 0, v[0])
self.tableWidget.setItem(MainWin.row, 1, v[1])
self.tableWidget.setItem(MainWin.row, 2, v[2])
self.tableWidget.setItem(MainWin.row, 3, v[3])
self.tableWidget.setItem(MainWin.row, 4, v[4])
self.tableWidget.setItem(MainWin.row, 5, v[5])
self.tableWidget.setCellWidget(MainWin.row, 6, self.downloadButton)
# 给下载按钮建立信号槽
self.downloadButton.clicked.connect(self.download)
except:
self.tableWidget.hideRow(MainWin.row)


def flushTipLabel(self, txt):
self.tableWidget.setRowCount(int(txt))
self.tipLabel.setStyleSheet("color:white; font-size: 14px")
self.tipLabel.setText("共找到{}款相关软件".format(txt))
MainWin.txt = int(txt)

Expand All @@ -186,9 +201,17 @@ def flushTipLabel(self, txt):
def download(self):
MainWin.data = {}
rowLine = self.tableWidget.currentRow()
fileName = QtWidgets.QFileDialog.getSaveFileName(self, "", MainWin.infoBox[0][rowLine][8])
MainWin.data['fileDir'] = fileName
MainWin.data['url'] = MainWin.infoBox[0][rowLine][7]
if MainWin.selectBox == '腾讯':
fileName = QtWidgets.QFileDialog.getSaveFileName(self, "", MainWin.infoBox[0][rowLine][8])
MainWin.data['fileDir'] = fileName
MainWin.data['url'] = MainWin.infoBox[0][rowLine][7]
else:
import re
fileName = MainWin.infoBox[0][rowLine]['soft_download']
fileName = re.findall(re.compile(r'/(.*?).exe'), fileName)
fileName = QtWidgets.QFileDialog.getSaveFileName(self, "", fileName[0] + '.exe')
MainWin.data['url'] = MainWin.infoBox[0][rowLine]['soft_download']
MainWin.data['fileDir'] = fileName
if fileName[0] != '':
self.downloadWin = DownloadWin.Form()
self.downloadWin.setWindowModality(QtCore.Qt.ApplicationModal)
Expand Down Expand Up @@ -321,10 +344,9 @@ def run(self):
else:
logUrl = value['logo']
imgData = requests.get(logUrl).content
print(imgData)
photo = QtGui.QPixmap()
photo.loadFromData(imgData)
photo.scaled(QtCore.QSize(32,32))
photo.scaled(32, 32, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
info['img'] = photo
dUrl = value['soft_download']
info['url'] = dUrl
Expand Down
20 changes: 0 additions & 20 deletions main/test.py

This file was deleted.

106 changes: 0 additions & 106 deletions untitled.py

This file was deleted.

Loading

0 comments on commit 32216ba

Please sign in to comment.