PyQt学习记录(一) -- 初识PyQt

PyQt介绍

  PyQt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。PyQt5的官方网站http://www.riverbankcomputing.co.uk/news。
  PyQt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。PyQt5是双重许可。开发者可以在GPL和商业许可之间进行选择。、

PyQt模块

  • QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
  • QtGui包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
  • qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。
  • QtMultimedia包含的类来处理多媒体内容和API来访问相机和收音机的功能。
  • Qtbluetooth模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
  • Qtpositioning包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
  • Enginio模块实现了客户端库访问Qt云服务托管的应用程序运行时。
  • Qtwebsockets模块包含实现WebSocket协议类。
  • QtWebKit包含一个基于Webkit2图书馆Web浏览器实现类。
  • Qtwebkitwidgets包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
  • QtXml包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
  • QtSvg模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
  • QtSql模块提供操作数据库的类。
  • QtTest包含的功能,使PyQt5应用程序的单元测试

PyQt5尝试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-

"""
PyQt5 学习
"""

import sys

#这里我们提供必要的引用。基本控件位于PyQt5.qtwidgets模块中。
from PyQt5.QtWidgets import QApplication, QWidget


if __name__ == '__main__':
#每一PyQt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。
app = QApplication(sys.argv)
#QWidget部件是PyQt5所有用户界面对象的基类。他为QWidget提供默认构造函数。默认构造函数没有父类。
w = QWidget()
#resize()方法调整窗口的大小。这离是250px宽150px高
w.resize(250, 150)
#move()方法移动窗口在屏幕上的位置到x = 300,y = 300坐标。
w.move(300, 300)
#设置窗口的标题
w.setWindowTitle('Simple')
#显示在屏幕上
w.show()

#系统exit()方法确保应用程序干净的退出
#的exec_()方法有下划线。因为执行是一个Python关键词。因此,exec_()代替
sys.exit(app.exec_())

效果如图:
PyQt-1.png

参考资料

https://maicss.gitbooks.io/PyQt5/content/
Python Qt GUI 快速编程 —— PyQt编程指南(Mark Summerfield 著 )