PyQt5学习笔记-1

PyQt5是一套来自Digia的Qt5应用框架和Python的粘合剂。支持Python2.x和Python3.x版本。本教程使用Pyhton 3。Qt库是最强大的GUI支持库的一种。PyQt5的官方主页是www.riverbankcomputing.co.uk/news。是Riverbank Computing开发了PyQt5。

PyQt5以一套Python模块的形式来实现功能。它包含了超过620个类,600个方法和函数。它是一个多平台的工具套件,它可以运行在所有的主流操作系统中,包含Unix,Windows和Mac OS。PyQt5采用双重许可模式。开发者可以在GPL和社区授权之间选择。
应用场景:
主要应用到可视化界面中,类比较少,使用起来简单,学习简单

from PyQt5.QtWidgets import QApplication,QWidget
import sys
if name == ‘main’:
# 所有的PyQt5应用必须创建一个应用(Application)对象
# sys.argv参数是一个来自命令行的参数列表。Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
app = QApplication(sys.argv)
# Qwidget组件是PyQt5中所有用户界面类的基础类
# 我们给QWidget提供了默认的构造方法。默认构造方法没有父类。没有父类的widget组件将被作为窗口使用。
w = QWidget()
# resize()方法调整了widget组件的大小。它现在是250px宽,150px高。
w.resize(250,150)
# move()方法移动widget组件到一个位置,这个位置是屏幕上x=300,y=300的坐标。
w.move(300,300)
# 这里我们设置了我们窗口的标题。这个标题显示在标题栏中。
w.setWindowTitle(‘Simple’)
# show()方法在屏幕上显示出widget。一个widget对象在这里第一次被在内存中创建,并且之后在屏幕上显示。
w.show()
# 调用exit()方法或主widget组件被销毁,主循环将退出。sys.exit()方法确保一个不留垃圾的退出。系统环境将会被通知应用是怎样被结束的。
# exec_()方法有一个下划线。因为exec是Python保留关键字。因此,用exec_()来代替。
sys.exit(app.exec_())
运行的结果
在这里插入图片描述
接下来我们做一个简单的应用图标
代码如下

import sys

from PyQt5.QtWidgets import QApplication, QWidget

from PyQt5.QtGui import QIcon

class Example(QWidget):

def __init__(self):
    super().__init__()
    # 继承initUI方法
    self.initUI()

def initUI(self):
    # 将窗口在屏幕上显示,并设置了它的尺寸
    # 前两个参数定位了窗口的x轴和y轴位置。第三个参数是定义窗口的宽度,第四个参数是定义窗口的高度
    # 事实上,这是将resize()和move()方法融合在一个方法内
    self.setGeometry(300, 300, 300, 220)

    self.setWindowTitle('Icon')

    self.setWindowIcon(QIcon('web.png'))

    self.show()

if name == ‘main’:
app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

运行结果
在这里插入图片描述
显示一个简单的显示一个提示文本

代码如下:

import sys

from PyQt5.QtWidgets import (QWidget, QToolTip,

                         QPushButton, QApplication)

from PyQt5.QtGui import QFont

class Example(QWidget):

def __init__(self):
    super().__init__()

    self.initUI()

def initUI(self):
    # 为两个PyQt5组件显示了提示框。
    QToolTip.setFont(QFont('SansSerif', 10))
    # 静态方法设置了用于提示框的字体。我们使用10px大小的SansSerif字体
    self.setToolTip('This is a <b>QWidget</b> widget')
    # 为了创建提示框,我们调用了setTooltip()方法。我们可以在提示框中使用富文本格式
    btn = QPushButton('Button', self)
    # 我们可以在提示框中使用富文本格式
    btn.setToolTip('This is a <b>QPushButton</b> widget')
    # 创建了一个按钮组件并且为它设置一个提示框
    # setHint()方法给了按钮一个推荐的大小。
    btn.resize(btn.sizeHint())

    btn.move(50, 50)

    self.setGeometry(300, 300, 300, 200)

    self.setWindowTitle('Tooltips')

    self.show()

if name == ‘main’:
app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

运行结果如下
在这里插入图片描述
关闭窗口
明显的关闭窗口的方法是点击标题栏的X标记。在下面的例子中,我们将展示怎么通过程序来关闭我们的窗口。我们将简单的触及信号和槽机制。
代码如下:
import sys

from PyQt5.QtWidgets import QWidget, QPushButton, QApplication

创建一个退出按钮,一旦按下按钮,应用将会结束

from PyQt5.QtCore import QCoreApplication

class Example(QWidget):

def __init__(self):
    super().__init__()

    self.initUI()

def initUI(self):
    # 来自QtCore的对象模块
    qbtn = QPushButton('Quit', self)
    # 构造方法的第一个参数是显示在button上的标签文本。第二个参数是父组件。父组件是Example组件,它继承了QWiget类。
    # qbtn.clicked.connect(QCoreApplication)
    # QCoreApplication类包含了主事件循环;它处理和转发所有事件
    # instance()方法给我们返回一个实例化对象
    # 事件通信在两个对象之间进行:发送者和接受者。发送者是按钮,接受者是应用对象
    qbtn.clicked.connect(QCoreApplication.instance().quit)

    qbtn.resize(qbtn.sizeHint())

    qbtn.move(50, 50)

    self.setGeometry(300, 300, 250, 150)

    self.setWindowTitle('Quit button')

    self.show()

if name == ‘main’:
app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

运行结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值