PyQt5 撤销功能学习
PyQt5 撤销功能学习 QUndoCommand以及QUndoStack
- 前言
- 一、QUndoCommand类
- 二、对文件读写进行撤销处理
- 总结
前言
开发Qt过程中需要实现撤销和重做功能,正好Qt有自带的QUndoCommand类
记录一下学习过程,如有问题可以指正讨论
从官方文档得知,Qt的撤销框架使用命令模式实现,具体什么是命令模式可以移步
Python设计模式之命令模式
一、QUndoCommand类
从官方文档得知,QUndoCommand是存储在撤消堆栈上的所有命令的基类。它可以应用(重做)或撤销文档中的单个更改。官方文档见
一个简单的撤销操作只需要其中的undo,redo,setText等操作
下面写一个学习过程中的例子来说明QUndoCommand类的使用
from PyQt5.QtWidgets import QUndoCommand, QUndoStackclass Student:def __init__(self, name, age):self.name = nameself.age = ageself.item = []class BuyItem(QUndoCommand):def __init__(self, student, item):super().__init__()self.student = studentself.item = itemself.setText('购买' + item)# super().__init__()def redo(self) -> None:print(self.student.name + '购买了' + self
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
