吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4958|回复: 20
收起左侧

[Python 转载] 使用pyqt5打造一款属于自己的网抑云下载器

  [复制链接]
正己 发表于 2020-8-10 20:12
本帖最后由 正己 于 2020-8-10 21:54 编辑

一.前言

​        最近在学爬虫,在某个深夜到点了,打开网抑云,正要生而为人,我很抱歉,突然提示我该歌曲只能vip才能播放,气煞老夫,充钱是不可能充钱的,这辈子都不可能充钱的,只有白嫖才能勉强过过日子。
网易云.jpg 网易云2.jpg 网易云3.jpg 网易云4.jpg


二.准备

1.一点点python基础(没有的话看起来很吃力的)

2.python3.7以及pycharm(这个版本不做要求,能用就行)

3.安装第三方库(selenium,cloudmusic,pyside2,pyqt5),需要科学上网快点,当然也可以选择国内的镜像源(下面以清华为例),在pycharm的Terminal栏输入一下代码

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

三.ui界面设计

在我们安装好pyside2后,首先进入我们python路径的

Lib\site-packages\PySide2

打开designer.exe文件,出来的弹窗选择Wiget窗体创建。
qt1.png
1.首先在右侧属性编辑器搜索title,接着双击下面的From改成我们软件的名字,这里修改为网抑云下载器。接着搜索icon,替换图标
qt2.png qt3.png qt11.png
2.接着在左边的控件栏里拖动一个Label控件到中间的项目里,单击一下Label控件,看右边的属性,找到pixmap属性,点击那个倒三角图标,添加我们的背景图片,调整图片大小,左上角的窗体选择预览看一下效果
qt4.png qt5.png qt6.png qt7.png
3.接着我们再拖动一个Label控件到中间的项目中,在右侧属性的text栏修改显示文字,同时调整一下控件的大小以及位置
qt8.png
4.然后拖动一个Plain Text Edit控件(输入栏)到项目中,适当调整大小以及位置,还需要在右上角双击修改控件的名称,以便于我们后面代码的编写
qt9.png qt10.png
5.接着我们再拖动一个Push Button(按钮)控件到中间的项目中,在右侧属性的text栏修改显示文字,,插入图标,同时调整一下控件的大小以及位置,还有勾选flag(故技重施,再添加一个打开文件的按钮,这里的图标可以到网上随便找。)

6.然后在下面添加两个Text Edit(显示文本框)和一个Plain Text Edit控件,在预览看一下最终UI界面
qt12.png


四.期间踩的坑

1.首先是pycharm无法运行pyside2的代码,在看了论坛大佬的帖子,最终是新建了一个虚拟环境才能运行

2.ui转py文件报错,根据他的提示我在pyside2的目录新建一个bin文件,再把uic文件移到里面(这个uic和qt同一个目录)
qt13.png qt14.png
3.没有设置好软件的Layout,使得软件拖动不能自适应大小。这里说一个最简单的方法就是设置Wiget的最大和最小尺寸,当然进阶一点的方法就是设置Layout,但这个不是短短几个字能说明白的,有兴趣的朋友可以自行研究
qt15.png


五.py代码编写

1.首先将我们的ui文件保存,然后来到我们刚才新建的虚拟环境的Scripts目录,把ui文件拖进来,然后在路径栏输入cmd,再输入以下的代码,这里的demo根据你们的名字进行命名

python.exe -m PyQt5.uic.pyuic demo.ui -o demo.py

2.把转换好的代码拖进pycharm,然后开始写我们的入口函数,这个是通用于qt转py后的代码的,只需要稍微修改一下类名即可

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)  #创建app
    MainWindow = QtWidgets.QMainWindow()  #装载各个组件
    ui = Ui_Form()  #创建实例对象
    ui.setupUi(MainWindow)   #执行setupUi方法
    MainWindow.show()  #显示窗口
    sys.exit(app.exec())  #设置关闭

3.写好入口函数后运行我们的程序,这时你会发现窗口虽然出来了,但是我们加进去的图片全部不见了,这也算是pyside2的一个坑,我们需要在程序文件的同目录下创建一个Image文件,把我们的图片全部放进去,然后在修改一下代码中的路径

icon.addPixmap(QtGui.QPixmap("Image\\3.ico"),QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.label.setPixmap(QtGui.QPixmap("Image\\背景.jpg"))
icon1.addPixmap(QtGui.QPixmap("Image\\文件.ico"),QtGui.QIcon.Normal, QtGui.QIcon.Off)
icon2.addPixmap(QtGui.QPixmap("Image\\下载.ico"),QtGui.QIcon.Normal, QtGui.QIcon.Off)

六.尾声

本来我是打算继续写的,但是有个学长建议我不要发,这个东西涉及到很多版权问题,想想也是。不过可以推荐你们一个超级好用的第三方模块叫CloudMusic

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
qianshang666 + 1 + 1 我很赞同!
从零学习的歪经小 + 1 + 1 大佬可以,正在学习。好好研究了

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

安辰- 发表于 2021-3-30 22:17
来晚辽,时隔半年多,从 正己 大大的茫茫主题中挖到这个帖子

才入坑 py 学习不到2个月,算是半新手,就想混一个项目

最近想仿个网抑云,想着吾爱论坛这方面帖子肯定多,一搜,翻到 正己 大大去年8月份的这个帖子(小声:关注正己大大是去年9月份关注的,一直看正己大大发一些安卓逆向教学,倒是没认真翻历史帖子),先感谢大大当初发表的这个帖子;此外,看末尾有丶意犹未尽的丫子,再加上出于编程基友交流的目的,臭弟弟想加下 正己 大大个好友,不知 正己 大大能否私聊给个好友位??
 楼主| 正己 发表于 2020-8-12 10:45
2079898548 发表于 2020-8-11 19:48
哎呦我去,看到结尾没发了。啊这。。。搞点思路?我研究下,把我之前的QQ音乐的丢进去试试
我之 ...

你可以参照一下这个大佬的帖子,我也是模仿他的,他有开了git的项目,虽然你想写qq音乐,但是学习一下思路没有问题,网抑云的还是第三方模块cloudmusic香
https://www.52pojie.cn/forum.php ... ighlight=cloudmusic
 楼主| 正己 发表于 2020-8-10 20:13
Ldfd 发表于 2020-8-10 21:38
有了解析方法你就到达巅峰了(大雾
你就离律师函不远了
 楼主| 正己 发表于 2020-8-10 22:09
Ldfd 发表于 2020-8-10 21:38
有了解析方法你就到达巅峰了(大雾
你就离律师函不远了

啊哈哈哈,网抑云的律师函可不敢收,会出大事的
龙舌兰 发表于 2020-8-11 08:14
大神级别的人物啊
 楼主| 正己 发表于 2020-8-11 13:43
龙舌兰 发表于 2020-8-11 08:14
大神级别的人物啊

不不不,我还只是个小白
龙舌兰 发表于 2020-8-11 14:41
正己 发表于 2020-8-11 13:43
不不不,我还只是个小白

太谦虚了
从零学习的歪经小 发表于 2020-8-11 19:48
本帖最后由 2079898548 于 2020-8-11 19:50 编辑

哎呦我去,看到结尾没发了。啊这。。。搞点思路?我研究下,把我之前的QQ音乐的丢进去试试
我之前pyqt5弄一半就没弄了。。。。。。。看到了你这个,又想去搞一手你这不发全我很难白嫖(^-^)V
xxsy 发表于 2020-8-11 23:43
其实更想知道pyqt5软件环境怎么搭建,完全不懂python,但想学点
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 12:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表