PyQt 5的基本功能
PyQt5常用的模块
PyQt5的类别分为几个模块,包括:
QtCore:包含非核心的GUI功能,此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程
QtGui:包括窗口系统集成、事件处理、二维图形、基本成像、字体和文本
QtWidgets:基本控件都位于pyqt5.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常用的模块函数
app = QApplication(sys.argv)
# 每一个pyqt5应用程序必须创建一个应用程序的对象,
# sys.argv参数是一个列表,从命令行输入参数
# 因此在函数开始,要导入QApplication,from PyQt5.QtWidgets import QApplication
w = QWidget()
# 创键窗口实例
# QWidget是一套用户界面的类
# 在开始要要导入QWidget,from PyQt5.QtWidgets import QWidget
w.resize(800,150)
# resize()方法调整窗口的大小,单位像素,原点在窗口的左上角顶点
w.move(800,400)
# move()方法移动窗口在屏幕的位置,单位像素,原点左边在屏幕的左上角顶点
w.setWindowTitle("我是窗口标题")
# 设置窗口标题
w.show()
# 显示在屏幕上
sys.exit(app.exec_())
# exit()方法保证程序干净退出,加下划线是因为exec是一个python关键词,所以用exec_()代替
PyQt5都会使用下列OOP面向对象编程的框架
import sys from PyQt5.QtWidgets import QApplication, QWidget class mywindow(QWidget): def __init__(self): super().__init__() self.initUI() # 界面交给initUI方法 def initUI(self): .... ... ... if __name__ == '__main__': app = QApplication(sys.argv) # 创建应用程序对象 ex = mywindow() ex.show() sys.exit(app.exec_())
self.setGeometry(800, 400, 200, 200)
# 设置窗口的位置和大小
self.setWindowIcon(QIcon('web.png'))
# 在函数开头要导入from PyQt5.QtGui import QIcon
# 设置窗口的图标,引用当前目录下的web.png图片
QToolTip.setFont(QFont('Time New Roman',10))
# 工具提示要导入from PyQt5.QtWidgets import QToolTip
# 字体要导入from PyQt5.QtGui import QFont
# 设置工具提示的字体,这里设置成Time New Roman,10号字体
self.setToolTip('This is a <b>QWidget</b> widget')
# 创建一个提示,使用setToolTip()方法,<b>title</b>,title会被加粗
btn = QPushButton('Button',self)
btn.setToolTip('This is a <b>QPushButton</b> widget')
# 创建一个按钮QPushButton,并命名为Button
# 将他设置工具提示settooltip
btn.resize(btn.sizeHint())
# 将按钮设置为默认尺寸btn.sizeHint()
btn.clicked.connect(QCoreApplication.instance().quit)
# 绑定按钮事件为quit退出
def closeEvent(self, event): reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() # 同意even请求 else: event.ignore() #忽略事件
# 要导入from PyQt5.QtWidgets import QMessageBox
# 关闭窗口会触发QCloseEvent,重写QWidget类中的closeEvent关闭窗口函数
# 第一个字符串为窗口标题。第二个字符串消息对话框中显示的文本。第三个参数指定按钮的组合出现在对话框中。最后一个参数是默认按钮,这个是默认的按钮焦点
# 最后处理返回值,如果点击yes按钮,关闭小部件并终止应用程序,否则我们忽略关闭事件
# 控制窗口显示在屏幕中心的方法 # 获得窗口 def center(self): qr = self.frameGeometry() # 获得屏幕中心点 cp = QDesktopWidget().availableGeometry().center() # 显示到屏幕中心 qr.moveCenter(cp) self.move(qr.topLeft())
# 要导入from PyQt5.QtWidgets import QDesktopWidget
# QtGui,QDesktopWidget类提供了用户的桌面信息,包括屏幕大小。
相关文章
- 统一、灵活、全面,这个好用的语义分割开源库全面升级啦
- MySQL事务还能这么理解?这回我知道怎么应付面试官了
- MMPose 1.0:优雅而强大的姿态估计算法框架
- 模型压缩库 MMRazor 全面升级,更灵活、自动
- MMRotate 全面升级,新增 BoxType 设计
- Java里面 根据一个字符串 计算他的hash 值(工具类)md5散列的方式计算hash值
- 【面试】揭秘面试背后的那点真实
- 【网络层】流量控制VS拥塞控制、路由器功能、SDN控制平面
- 【网络层】IP组播(多播)、硬件组播、IGMP、组播路由选择协议、移动IP、路由器详解、路由表和路由转发
- 技术硬实力,你应该这样和面试官聊Dubbo
- 技术硬实力,这样去面试你肯定会过
- 为什么阿里巴巴会这么重视技术面试呢?
- 广和通重磅发布最新5G Sub-6及毫米波模组FX170(W)!
- 学习ASP.NET Core Blazor编程系列二十二——登录(1)
- 学习ASP.NET Core Blazor编程系列二十一——数据刷新
- 学习ASP.NET Core Blazor编程系列二十——文件上传(完)
- 学习ASP.NET Core Blazor编程系列十九——文件上传(下)
- 学习ASP.NET Core Blazor编程系列十八——文件上传(中)
- 学习ASP.NET Core Blazor编程系列十七——文件上传(上)
- 学习ASP.NET Core Blazor编程系列十六——排序