Qt——编辑交互功能的实现

1.常规编辑交互功能

  • 复制(Copy)
  • 粘贴(Paste)
  • 剪切(Cut)
  • 撤销(Undo)
  • 重做(Redo)
  • 删除(Delete)

QPlainTextEdit提供了丰富的交互功能接口

只需将对应action的triggered信号和槽函数连接在一起,例如:

复制代码
connect(action, SIGNAL(triggered()), &mainEditor, SLOT(paste()));

2.文本编辑器中的界面状态

  • 不是任何时候都能进行:复制粘贴、撤销重做

QPlainEditor能够发送与界面状态相关的信号

  • void copyAvailable(bool yes) //是否可以进行复制操作
  • void redoAvailable(bool available) //是否可以进行重做操作
  • void undoAvailable(bool available) //是否可以进行撤销操作
  • void cursorPositionChanged()

实现步骤:

  • 连接界面状态信号到自定义槽函数
  • 通过文本信息找到对应的QAction对象
  • 根据信号标志设置QAction对象的界面状态
相关推荐
用户805533698033 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner3 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz8 天前
QML Hello World 入门示例
qt
xcyxiner11 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner12 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner12 天前
DicomViewer (添加模型类)3
qt
xcyxiner13 天前
DicomViewer (目录调整) 2
qt
xcyxiner13 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR00615 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术15 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript