zoukankan      html  css  js  c++  java
  • 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())

  • 相关阅读:
    C/C++ 知识点---存储区
    Objective-C中的@property和@synthesize用法
    C/C++ 知识点---数组与指针
    C/C++ 知识点---C语言关键字(32个)
    js里json和eval()
    js--冒泡排序
    js数学公式-曲线运动
    事件绑定兼容(事件流的机制;事件委托
    2 获取元素在页面中的位置
    Dom关于位置和尺寸的api
  • 原文地址:https://www.cnblogs.com/ygzhaof/p/9732421.html
Copyright © 2011-2022 走看看