编程从来都是一门实践性很强的技术,最好的学习方式就是动起手来
关于如何使用PyQt(PyQt4或者PyQt5)在网上有很多简单或者详细的教程,但是我发现大部分的教程是从一个最简单的点展开,试图从一个Hello World讲起,手动创建控件,比如如何用代码创建一个按钮,如果在按钮上绑定一个事件,如何利用该事件输出文字到文字框等等。还有一些教程,非常详尽的讲解每一个控件具有哪些功能,并展示如何使用。前者更像是一本教材,准备由浅入深,但是很多人可能在Hello World之后就因为枯燥的示例被劝退,后者更像一本参考资料,很少希望从头到尾的学习完所有控件。
Python作为一门应用库丰富的动态语言,以快速解决问题而出名,并流传着“人生苦短,我用Python”这样有趣的标语。而我相信很多人使用PyQt做GUI开发也是快速实现自己所需要的工具,因此,在这系列的教程中,我将建立一个目标项目,以快速实现这个项目为目标,在逐步完成项目的同时,能够尽可能多的涵盖用PyQt构建一个GUI工具所需要的必要知识点,同时使阅读人员掌握必要的自学技能,在后续自己的项目中,能够更快速的查找资料和实现自己的目标。
系列文章传送门:
在本教程中,我们将一步一步实现一个局域网文件传输工具,类似于apple生态中的airdrop,实现快速的文件分享。为什么要做这样一个工具呢?因为在长期使用macOS和iOS以后,发现airdop在设备之前分享文件非常的高效,而我本身也有使用Windows系统和Android设备,但是苦于没有找到一个很好的替代工具,不得不使用微信,局域网文件分享等方式,跟airdop相比,在使用起来,并不是很方便。
因此,以这样一个工具的实现作为教程就变得顺理成章。我将其命名为wifidrop,因为不像airdrop,它不会支持蓝牙。
我们前边讲了,目标是使用PyQt5快速实现目标,那么在这个项目的实施中,我们将借助Qt Creator这个工具来做主要的界面设计,并辅助一些代码对控件的调整,这样会比直接使用代码来实例化控件更加直观快速有效。对于刚入门PyQt5,想入门PyQt5,或者只是想快速搭建工具的来来说,非常建议从Qt Creator做起。因为编程从来都是一门实践性很强的技术,最好的学习方式就是动起手来。
在环境搭建中,我们接下来要搭建代码运行环境(python virtual env + PyQt5)和 GUI设计环境(Qt Creator) 。
本教程假设读者有Python使用经验,以及知道如何使用pip包管理工具来安装Python库。Python开发大量的依赖第三方库,因为针对不同的项目,会经常使用不同类型的库,那么创建一个虚拟的Python运行环境,而不是将所有的库都安装到Python安装目录能够最大程度的减少库之前的冲突,是一种很好的实践。
建立项目文件夹,并使用virtualenv来创建虚拟环境
Python有几种不同的虚拟环境创建方法,这里使用virtualenv,如果没有安装virtualenv,则可以参考https://virtualenv.pypa.io/en/latest/ 来进行安装,或者可以选择自己习惯的其他方法。
在项目根目录运行:
|
|
等待环境创建完成之后,项目目录中会出现venv文件夹,里边就是我们的虚拟环境,如果在Windows环境,可以运行activate.bat来激活环境
|
|
激活后,命令提示行前会出现venv(虚拟环境文件夹名)的提示,如果使用visual studio code来编辑代码,则可以在软件中选择该环境。
激活虚拟环境后,使用pip包管理安装PyQt5库
|
|
安装完毕后,打开python环境,运行如下代码,确认PyQt5是否成功安装
|
|
一切正常的话,会得到类似 PyQt version: 5.14.1的输出。
Qt Creator是Qt公司发布的快速进行Qt开发的工具,在PyQt4的时候,有专门的Qt Designer来做相同的事情,但是在PyQt5,相同的功能已经整合到Qt Creator中,再该工具中还有C++,QML,调试,版本控制等功能的支持,但是对于我们使用Python来做快速开发的话,仅仅需要使用它来绘制GUI界面。找到Qt Creator的下载,并使用它,并不怎么直观,我将尽量让这个工作变得清晰。
从https://www.qt.io/offline-installers下载对应操作系统的安装包,并安装到系统,安装成功后,打开,则看到如下图一样的主界面,我们将在后续文章中学习如果使用该工具来布局软件 。
Python之所以如此流行,在于它有强大的生态,使用各种各种的库可以帮助用户最快速的解决问题。Python酷致力于输出高质量的Python库相关教程及技术性文章,帮助用户更好更快速的解决问题