当前位置: 首页 > news >正文

qt设置过滤器

1.创建事件过滤器类,在主窗口中安装事件过滤器

class PasteFilter : public QObject {Q_OBJECTpublic:PasteFilter(QObject *parent = nullptr) : QObject(parent) {}protected:bool eventFilter(QObject *obj, QEvent *event) override {if (event->type() == QEvent::KeyPress) {QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);if (keyEvent->modifiers() == Qt::ControlModifier && keyEvent->key() == Qt::Key_V) {QTextEdit *textEdit = qobject_cast<QTextEdit *>(obj);if (textEdit) {QClipboard *clipboard = QApplication::clipboard();QString clipboardText = clipboard->text();QString quotedText = "\"" + clipboardText + "\"";QTextCursor cursor = textEdit->textCursor();cursor.insertText(quotedText);return true;}}}return QObject::eventFilter(obj, event);}
};PasteFilter *pasteFilter = new PasteFilter(this);ui->textEdit->installEventFilter(pasteFilter);

2. 自定义控件,重写控件的event事件

    void keyPressEvent(QKeyEvent *event) override {if (event->modifiers() == Qt::ControlModifier && event->key() == Qt::Key_V) {// 捕获 Ctrl+V 事件QClipboard *clipboard = QApplication::clipboard();QString originalText = clipboard->text();QString quotedText = "\"" + originalText + "\"";// 插入带引号的文本this->insertPlainText(quotedText);} else {// 调用基类的方法处理其他按键事件QTextEdit::keyPressEvent(event);}}

 

http://www.lryc.cn/news/405374.html

相关文章:

  • 线上环境服务器CPU飙升排查
  • unity文字||图片模糊
  • 香薰学习笔记
  • iOS ------ weak的基本原理
  • 实时更新UI界面
  • 为什么Spring不推荐@Autowired用于字段注入
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十九章 Linux MISC驱动
  • 基于MobileNetv2的垃圾分类函数式自动微分-昇思25天打卡
  • STM32CubeIDE(CAN)
  • GO Channel使用详解(各种场景下的最佳实践)
  • SwiftUI 5.0(iOS 17)滚动视图的滚动目标行为(Target Behavior)解惑和实战
  • picker 构建记录
  • Docker部署kafka,Docker所在宿主机以外主机访问
  • 控制欲过强的Linux小进程
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • Docker Desktop安装
  • 《Towards Black-Box Membership Inference Attack for Diffusion Models》论文笔记
  • vscode调试nextjs前端后端程序、nextjs api接口
  • 《SeTformer Is What You Need for Vision and Language》
  • [保姆级教程]uniapp安装使用uViewUI教程
  • 网络安全法规对企业做等保有哪些具体规定?
  • Java开发中超好用Orika属性映射工具
  • qt初入门8:下拉框,输入框模糊查询,提示简单了解 (借助QCompleter)
  • 【qt】VS中如何配置Qt环境
  • 对于相同网段的IP,部分无法ping通问题
  • Unity发布XR中用于worldbuilding的全新电子书
  • Vue3相比于Vue2进行了哪些更新
  • Unity UGUI 之 Slider
  • 这7款高效爬虫工具软件,非常实用!
  • 【OJ】二叉树相关OJ题