PyQt5快速入门(一)PyQt5简介

PyQt5快速入门(一)PyQt5简介

一、PyQt5简介

1、PyQt5简介

PyQt是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。
官方网站:www.riverbankcomputing.com
PyQt5提供GPL版和商业版证书,自由开发者可以使用免费的GPL许可,如果需要将PyQt用于商业应用,则必须购买商业许可。

2、PyQt5的特性

PyQt5特性如下:
(1)基于高性能的Qt的GUI控件集。
(2)能够跨平台运行在Linux、Window和Mac OS系统上。
(3)使用信号槽机制进行通信。
(4)对Qt库进行完全封装。
(5)可以使用成熟的IDE进行界面设计,并自动生成可执行的Python代码。
(6)提供一整套种类齐全的窗口控件。

3、PyQt4与PyQt5的区别

PyQt5与PyQt4区别如下:
(1)重新组合模块,PyQt5中一些模块已经被废弃(QtScript),有些被拆分为两个子模块(QtGui,QtWebKit)。
(2)添加新模块,如QtBluetooth,QtPositioning和Enginio。
(3)废弃SINGAL()和SLOT(),使用新的信号槽处理方式。
(4)不再支持所有被标记为废弃的或不建议使用的Qt API。

二、PyQt5模块

PyQt5是由一系列Python模块组成,有超过620个类,6000个函数和方法,主要模块如下:
(1)QtCore包含核心的非GUI的功能。主要与时间、文件、文件
夹、各种数据、流、URLs、mime类文件、进程、线程一起使用。
(2)QtGui包含窗口系统、事件处理、2D图像、基本绘画、字体和文字类。QtWidgets类包含一系列创建桌面应用的UI元素。
(3)QtMultimedia包含处理多媒体和调用摄像头API的类。
(4)QtBluetooth模块包含查找和连接蓝牙的类。
(5)QtNetwork包含网络编程的类,能让TCP/IP和UDP开发变得更加方便和可靠。
(6)QtPositioning包含定位的类,可以使用卫星、WiFi甚至文本。
(7)Engine包含通过客户端进入和管理Qt Cloud的类。
(8)QtWebSockets包含WebSocket协议的类。
(9)QtWebKit包含一个基WebKit2的web浏览器。
(10)QtWebKitWidgets包含基于QtWidgets的WebKit1类。
(11)QtXml包含处理xml的类,提供SAX和DOM API的工具。
(12)QtSvg提供显示SVG内容的类,Scalable Vector Graphics(SVG)是一种是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。
(13)QtSql提供处理数据库的工具。
(14)QtTest提供测试PyQt5应用的工具。

三、PyQt5实例

import sys
import os
from PyQt5 import QtWidgets, QtCore

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    widget = QtWidgets.QWidget()
    widget.resize(800, 600)
    widget.setWindowTitle("Hello, PyQt5")
    widget.show()

    sys.exit(app.exec_())

原文地址:https://blog.51cto.com/9291927/2422184

时间: 2024-10-09 18:38:08

PyQt5快速入门(一)PyQt5简介的相关文章

PyQt5快速入门(二)PyQt5信号槽机制

PyQt5快速入门(二)PyQt5信号槽机制 一.信号槽机制简介 1.信号槽简介 信号槽是Qt的核心机制,也是PyQt编程中对象进行通信的机制.在Qt中,QObject对象和PyQt中所有继承自QWidget的控件都支持信号槽机制.当信号发射时,连接的槽函数会自动执行.在PyQt5中,信号与槽函数通过object.signal.connect()方法进行连接.信号槽特点如下:(1)一个信号可以连接多个槽(2)一个信号可以连接另一个信号(3)信号参数可以是任意Python类型(4)一个槽可以监听多

PyQt5快速入门

PyQt5快速入门系列博客根据<PyQt5快速开发与实战>学习而来,请参考原书.PyQt5快速入门(一)PyQt5简介https://blog.51cto.com/9291927/2422184PyQt5快速入门(二)PyQt5信号槽机制https://blog.51cto.com/9291927/2422187 原文地址:https://blog.51cto.com/9291927/2422188

PyQt5快速入门(三)PyQt5基本窗口组件

PyQt5快速入门(三)PyQt5基本窗口组件 一.QMainWindow 1.窗口类型简介 QMainWindow.QWidget.QDialog用于创建窗口,可以直接使用,也可以派生使用.QMainWindow窗口包含菜单栏.工具栏.状态栏.标题栏等,是最常见的窗口形式.QDialog是对话框窗口的基类,主要用于执行短期任务,或与用户进行交互,可以是模态或非模态的.QDialog对话框没有菜单栏.工具栏.状态栏等.QWidget是Qt图形组件的基类,可以作为顶层窗口,也可以嵌入到其它组件中.

PyQt5快速入门(四)PyQt5高级窗口组件

PyQt5快速入门(四)PyQt5高级窗口组件 一.QTableView 1.QTableView简介 QTableView可以使用自定义的数据模型来显示内容,通过setModel绑定数据源,由QAbstractItemView类定义的接口来实现,使其能够显示由QAbstractItemModel类派生的模型提供的数据. 2.标准模型 QStringListModel 字符串链表数据模型QStandardItemModel标准数据项模型,存储任意结构层次的数据QDirModel 文件系统目录模型

PyQt5快速入门(七)PyQt5扩展

PyQt5快速入门(七)PyQt5扩展 一.PyQt5项目发布 1.PyInstaller简介 PyInstaller是一款免费易用的打包工具,支持Windows.Linux.MacOS,并且支持32位和64位系统.http://www.pyinstaller.org/PyInstaller安装:pip install pyinstaller 2.PyInstaller使用 PyInstaller使用命令如下:pyinstaller yourprogram.pyPyInstaller使用时需切换

JavaWeb之Mysql快速入门(十一)

MySql快速入门 1. mysql简介 Structured Query Language 结构化查询语言 SQL标准,由ANSI(美国标准学会,属于ISO的核心成员)进行管理和维护的. 数据库厂商都支持该标准,并进行了扩展.扩展的部分,一般称之为方言. SQL标准和方言:普通话和方言 作用:与数据库进行交互 常用数据库:Oracle/DB2/MySQL/SQL Server 2. SQL语句的分类 DDL:Data Definition Language数据定义语言 alert/create

.Net Core 3.0 IdentityServer4 快速入门

原文:.Net Core 3.0 IdentityServer4 快速入门 .Net Core 3.0 IdentityServer4 快速入门 一.简介 IdentityServer4是用于ASP.NET Core的OpenID Connect和OAuth 2.0框架. 将IdentityServer4部署到您的应用中具备如下特点: 1).认证服务 2).单点登陆 3).API访问控制 4).联合网关 5).专注于定制 6).成熟的开源系统 7).免费和商业支持 二.整体部署 目前大多数的应用

Node.js【4】简介、安装和配置、快速入门

笔记来自<Node.js开发指南>BYVoid编著 第1章 Node.js简介 Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为脚本语言世界的一等公民,在服务端堪与PHP.Python.Perl.Ruby平起平坐. Node.js可以作为服务器向用户提供服务,与PHP.Python.RubyonRails相比,它跳过了Apache.Nginx等HTTP服务器,直接面向前端开发. Node.js还可以调用C/C++的代码,这样可以充分利用已有的诸多函

【Android快速入门3】布局简介及例子

目前自学到布局部分,下面演示了不同布局的基本训练,涵盖的内容还是不错的,而且简单易懂,分享给大家. 1.LinearLayout流式布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa