PyQt 基础学习 - 第五篇

图形和动画编程

在这一篇中,我们将探讨如何使用 PyQt 进行图形和动画编程。PyQt 提供了一系列用于图形和动画处理的类和方法。

使用 QPainter 进行绘图

QPainter 是一个用于在 PyQt5 窗口中进行绘图的类。

python 复制代码
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QColor, QPen
import sys

class MyWindow(QWidget):

    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setPen(QPen(QColor(0, 0, 0),  8))
        painter.drawLine(10, 10, 300, 200)

app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

使用 QAnimation 进行动画

QPropertyAnimation 类用于创建简单的动画。

python 复制代码
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton
from PyQt5.QtCore import QPropertyAnimation, QRect
import sys

class MyWindow(QWidget):

    def __init__(self):
        super(MyWindow, self).__init__()
        self.button = QPushButton("Click Me", self)
        self.button.clicked.connect(self.do_animation)

    def do_animation(self):
        self.anim = QPropertyAnimation(self.button, b"geometry")
        self.anim.setDuration(1000)
        self.anim.setStartValue(QRect(0, 0, 100, 30))
        self.anim.setEndValue(QRect(250, 250, 100, 30))
        self.anim.start()

app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

总结

在这篇文章中,我们探讨了如何使用 PyQt 进行图形和动画编程。这些功能使得 PyQt 成为一个非常强大的工具,用于创建具有丰富图形和动画的桌面应用。

下一篇文章将介绍如何使用 PyQt 进行数据库操作。


希望这篇文章能帮助你更深入地了解 PyQt!

相关推荐
余槐i2 分钟前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
实名上网宋凯宣10 小时前
Django
后端·python·django
利威尔xu11 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF12 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
慢云智慧空间12 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu12 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
薛定谔的猫-菜鸟程序员13 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
IT_陈寒15 小时前
SpringBoot多环境配置把我坑惨了,这个踩坑经验你最好看看
前端·人工智能·后端
码事漫谈15 小时前
DeepSeek 搞了个 "Super-agent",但不是超级智能
后端