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类提供了用户的桌面信息,包括屏幕大小。
PyQt 5的基本功能的更多相关文章
- 如何在 pyqt 中实现桌面歌词
前言 酷狗.网抑云和 QQ 音乐都有桌面歌词功能,这篇博客也将使用 pyqt 实现桌面歌词功能,效果如下图所示: 代码实现 桌面歌词部件 LyricWidget 在 paintEvent 中绘制歌词. ...
- Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台
引言 找了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器.花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2 + P ...
- Python应用与实践【转】
转自:http://www.cnblogs.com/skynet/archive/2013/05/06/3063245.html 目录 1. Python是什么? 1.1. Pyt ...
- python百科
Python 编辑词条 添加义项名 B 添加义项 ? Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第 ...
- 目前比较流行的Python科学计算发行版
经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...
- Python学习总结(一)—— 十分钟入门
一.Python概要 1.1.语言简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,具有20多年的发展历史,成熟且稳定. 用任何编程语言来开发程序,都是为了让计算机干活,比如下 ...
- ######【Python】【基础知识】Python的介绍 ######
Python 是一种面向对象.解释型计算机程序设计语言. Python是什么? Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言 ...
- Python Tkinter小实例——模拟掷骰子
什么是Tkinter? Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 由于 Tkinter 是内置到 python 的安 ...
- Python应用与实践-转自(吴秦(Tyler))
1. Python是什么? 1.1. Python语言 1.2. Python哲学 2. Python在工作中的应用 2.1. 实例1:文件批量处理 ...
随机推荐
- JQ上传预览+存数据库
因为之前老师讲的方法有不少BUG 现在经过完善已经修复 之前老是讲的方法是每一张都会被传到后台文件夹里面去 导致在预览过程中如果刷新页面 那么预览的图片不能从后台文件夹中删除 这个方法实现在本地预览 ...
- ubuntu16 chrome install
1,download chrome.deb from : https://www.google.com/chrome/index.html 2,double click chrome.deb and ...
- Android程序员学WEB前端(7)-CSS(2)-伪类字体文本背景边框-Sublime
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/76618373 觉得博文有用,请点赞,请评论,请关注,谢谢!~ 伪类: <!DOC ...
- Kotlin Reference (一) Basic Syntax
什么是Kotlin Kotlin翻译成中文叫"靠他灵",它是由JetBrains公司发明的一种基于JVM的编程语言,目前Google宣布kotlin为Android开发的官方语言. ...
- height 与 min-height 的继承
min-height: inherit; 继承父元素的 min-height: 80px; 但,不能继承父元素的 height: 200px; height: inherit; 能继承父元素的: he ...
- HslCommunication库的二次协议扩展,适配第三方通讯协议开发,基础框架支持长短连接模式
本文将使用一个gitHub开源的项目来扩展实现二次协议的开发,该项目已经搭建好了基础层架构,并实现了三菱,西门子,欧姆龙,MODBUS-TCP的通讯示例,也可以参照这些示例开发其他的通讯协议,并Pul ...
- 数位DP新识
简单题:HDU2089 HDU3652 HDU4734 HDU3555 POJ3252 HigoCoder1033(需要前导0,或者用方法4) 总结: 1,dfs(pos,state, ...
- BZOJ1257 CQOI2007 余数之和 【数分块】
BZOJ1257 CQOI2007 余数之和 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值 其中 ...
- Could Not Launch Appium Inspector
环境: macOS High Sierra 10.13.2 appium GUI 1.5.3 出现如上图报错时,尝试将App Path和Device Name勾选,如下图:
- flask第十八篇——模板【2】
请关注公众号:自动化测试实战 上一节我们介绍了模板的基本使用方法,现在我们想一个问题,如果把index.html放到template文件夹下面的文件夹该怎么办呢?其实很容易,当文件夹结构如下图所示时: ...