PyQt5-介绍 (创建第一个窗口界面)-1

1、了解:

PyQt5是一套绑定Qt5的应用程序UI框架。他在Python 2.x和3.x中都是可用的。该教程使用的是Python3.x。Qt库是一套最有用的GUI库。PyQt5的官方主页www.riverbankcomputing.co.uk/news。PyQt5是由Riverbank Computing开发的。

PyQt5是作为一套Python模块实现的。他已经超过620个类和6000个函数与方法。他是一个运行在所有主流操作系统上的多平台组件,包括Unix,Windows和Mac OS。PyQt5是双重许可的。开发者可以选择GPL和商业许可。

2、安装:(使用Eric6还会再提及)

pip3 install pyqt5 进行安装
注意:使用 pip3 install PyQt5安装PyQt5.9版本后发现在./Python/Lib/site-packages/PyQt5目录下没有designer.exe工具,
在PyCharm的External Tools中找不到designer.exe,查阅资料后发现有如下解决方法:

pip install PyQt5-tools -i --trusted-host=pypi.douban.com

安装完成后,在./Python/Lib/site-packages/pyqt5-tools目录下可找到designer.exe,此后可在PyCharm或者Eric6中找到并添加designer.exe

3、PyQT5模块

  1. QtCore :模块包含了非GUI的功能设计。这个模块被用来实现时间,文件和目录,不同数据类型,流,URL,mime类型,线程和进程。
  2. QtGui:模块包含的类用于窗口化的系统结构,事件处理,2D绘图,基本图形,字体和文本。
  3. QtWidgets:模块包含的类提供了一套UI元素来创建经典桌面风格用户界面。
  4. QtMultimedia:模块包含的类用于处理多媒体内容和链接摄像头和无线电功能的API。
  5. QtBluetooth:模块包含的类用于扫描蓝牙设备,并且和他们建立连接互动。
  6. QtNetwork:模块包含的类用于网络编程,这些类使TCP/IP和UDP客户端/服务端编程更加容易和轻便。
  7. QtPositioning:模块包含的类用于多种可获得资源的位置限定,包含卫星定位,Wi-Fi,或一个文本文件。
  8. Enginio:模块用于解决客户端访问Qt云服务托管。
  9. QtWebSockets:模块用于解决客户端访问Qt云服务托管。
  10. QtWebKit:包含的关于浏览器的类用于解决基于WebKit2的支持库。
  11. QtWebKitWidgets:模块包含的关于WebKit1的类基本解决浏览器使用基于QtWidgets应用问题。 
  12. QtXml:QtXml 模块包含的类用于解析XML文件。这个模块提供SAX和DOM API解决方法。
  13. QtSvg:模块提供类用于显示SVG文件内容。Scalable Vector Graphics (SVG) 是一种语言,用XML来描述二维图形和图形应用程序。
  14. QtSql:模块提供类驱动数据库工作。 
  15. QtTest:模块包含了方法提供PyQt5应用的单元测试。

 4、创建第一个界面应用

import sys
from PyQt5.QtWidgets import QApplication, QWidget
#demo_1:显示一个主窗体
if __name__ == '__main__':
    app=QApplication(sys.argv)#所有的PyQt5应用必须创建一个应用(Application)对象
    widgets=QWidget()         #Qwidget组件是PyQt5中所有用户界面类的基础类。我们给QWidget提供了默认的构造方法。默认构造方法没有父类。没有父类的widget组件将被作为窗口使用。
    widgets.resize(300,300)   #设置这个Widget的界面大小
    widgets.move(200,200)     #设置显示的位置
    widgets.setWindowTitle('Example')#窗体的标题
    widgets.show()
    sys.exit(app.exec())

 

posted @ 2018-09-30 16:35  zyg_100  阅读(2355)  评论(0编辑  收藏  举报