美文网首页
PyQt5第一天(初步了解)

PyQt5第一天(初步了解)

作者: _Mirage | 来源:发表于2020-03-31 16:11 被阅读0次

PyQt5简介:

PyQt5是由Digia开发的一套绑定Python语言的QT5应用框架,兼容Python 2.x和Python 3.x。Qt是一套强大的GUI库。PyQt5的官网是www.riverbankcomputing.co.uk/news。PyQt5由Riverbank Computing公司开发和维护。

PyQt5用Python对Qt5的核心模块进行了封装,实现了620个类和6000个函数以及方法。它是一个跨平台的开发包,可以运行在大多数的操作系统上,包括Unix、Windows以及Mac OS。PyQt5支持两种许可协议,GPL和商用许可,开发者可以在其中选择一种。

PyQt5的类可以分成以下几种,包含在不同的模块中:

  • QtCore
  • QtGui
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest

QtCore库包含了与GUI无关的核心功能,包括时间管理、文件及目录、数据类型、流、URL、mime类型、线程或进程等。

QtGUI库包含了窗口系统集成、事件处理、2D、图像处理、字体、文字处理等功能。

QtWidgets库则提供了一系列的UI模块,这些模块可以创建人机交互界面,比如按钮、拖动条、进度条等。

QtMultimedia库提供了多媒体内容管理接口,用来处理摄像头和麦克风等。

QtBluetooth库可以用来扫描、连接蓝牙设备,并提供了通信的借口。

QtNetwork库提供了网络编程接口类,使用这些类可以创建更易用、移植性更好的网络服务器和客户端。

QtPositioning库提供了获取位置信息的类,包括通过卫星、WIFI甚至文本文件的方式。

Enginio库实现了一个客户端接口,用来访问Qt云服务管理应用。

QtWebSockets库包含了一些实现WebSocket协议的类。

QtWebKit库提供了基于WebKit2库实现一个web浏览器的类。

QtWebKitWidgets库提供了一些基于WebKit1库实现一个web浏览器的类,这些类可以运用到使用QtWidgets的应用程序中。

QtXml库提供了处理XML文件的类,包含SAX和DOM两种API接口。

QtSvg库提供了用于显示SVG文件的类。SVG是一种用来描述二维图形和图像应用程序的XML标记语言。

QtSql库提供了数据库接口类。

QtTest库提供了运用于PyQt5应用程序的单元测试库。

PyQt4 和 PyQt5 的区别
PyQt5不向后兼容PyQt4;PyQt5包含很多重大的更改。但从PyQt4移植到PyQt5上并不是很困难。两者最主要的差别有:
Python模块被重新组织;删除了一些模块(比如QtScript),另外一些模块被拆分成多个(比如QtGui和QtWebKit);
引入了一些新的模块,包括QtBluetooth、QtPositioningy以及Enginio;
PyQt5只支持新的信号-插槽机制,不再支持旧的SIGNAL()或SLOT()接口;
PyQt5不支持任何在Qt 5.0中被标记为deprecated或obsolete的接口;

反正就是PyQt5.Qtwidgets里面的QApplication和QWidget是必要的,其中QApplication接受一个参数一般用sys.args,这样从命令行也可以运行程序。
QWidget则创造一个主窗体(如果构造函数没有给任何参数的话,否则是子窗体),然后这个窗体有各种函数去操作它。
然后QApplication的对象有一个方法是exec_可以创建一个永真循环,从这里开始监听事件,然后反馈给各个组件。

代码:

# coding='utf-8'

import sys
from PyQt5.QtWidgets import QApplication, QWidget

gui = QApplication(sys.argv)

win = QWidget()
win.setWindowTitle('第一个PyQt5')
win.resize(250, 250)
win.move(300, 300)
win.show()

sys.exit(gui.exec_())

运行结果: image.png

相关文章

  • PyQt5第一天(初步了解)

    PyQt5简介: PyQt5是由Digia开发的一套绑定Python语言的QT5应用框架,兼容Python 2.x...

  • PyQt5按钮绑定退出程序的点击事件

    初步处理事件需要从PyQt5的QtCore库中导入QCoreApplication这个QCoreApplicati...

  • 初步了解

    什么是css语法?CSS (Cascading Style Sheets) 层叠样式表,用来编辑 HTML中元素...

  • LLVM 初步了解

    什么是LLVM 官网:https://llvm.org/ LLVM项目是模块化、可重用的编译器以及工具链技术的集合...

  • 初步了解阿德勒

    这周在读的书都可以算作心理类的。其中《幸福的勇气》《自卑与超越》和前段时间看的《被讨厌的勇气》都是阿德勒心理学理论...

  • css初步了解

    层叠样式表 (Cascading Style Sheets) css可以用来为网页创建样式表,通过样式表可以对网页...

  • Hbase初步了解

    特点:单表可以有百亿行,百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常有弹性面向列的存储和权限控制(可以...

  • 初步了解ObjectMapper

    参考GitHub - Hearst-DD/ObjectMapper: Simple JSON Object map...

  • 初步了解RTP

    实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,RTP协议...

  • 初步了解RTMP

    1 RTMP 实时消息传输协议,是现在比较常用的协议 它有三种变种: 1)工作在TCP之上的明文协议,使用端口19...

网友评论

      本文标题:PyQt5第一天(初步了解)

      本文链接:https://www.haomeiwen.com/subject/bcvwuhtx.html