QT QPlainTextEdit复制粘贴功能的实现

网友投稿 1284 2022-10-02

QT QPlainTextEdit复制粘贴功能的实现

QT QPlainTextEdit复制粘贴功能的实现

我最近做了一个QT mindmap的项目,用了一下QPlainTextEdit,但是出现了不能复制的情况。实际上只需要舰艇Ctrl+c和Ctrl+x按键事件就行了。我的核心代码函数为:

void keyPressEvent(QKeyEvent* ev) Q_DECL_OVERRIDE { update(); if (isReadOnly() && ev->key() == Qt::Key_Space) { //禁止按空格键后编辑功能 setReadOnly(true); } else if (!isReadOnly() && ev->key() == Qt::Key_Escape) { setReadOnly(true); } else if (!isReadOnly() && ev->key() == Qt::Key_Tab) { setReadOnly(true); m_parent->keyPressEvent(ev); } else if (!isReadOnly() && ev->key() == Qt::Key_Return && (ev->modifiers() & Qt::ShiftModifier) == 0) { setReadOnly(true); m_parent->keyPressEvent(ev); }else if((ev->key() == Qt::Key_C || ev->key() == Qt::Key_X) && ev->modifiers() == Qt::ControlModifier){ //复制粘贴 copy(); } else if (!isReadOnly()) { QPlainTextEdit::keyPressEvent(ev); } else { m_parent->keyPressEvent(ev); } }

核心代码为:

else if((ev->key() == Qt::Key_C || ev->key() == Qt::Key_X) && ev->modifiers() == Qt::ControlModifier){ copy(); }

然后再复制QPlainTextEdit上的内容就能复制成功了。

参考文献

[1].qtQPlainTextEdit复制内容粘贴到excel中的问题. ​​http://blog.sina.com-/s/blog_6b2dd2620102yvyp.html​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信拍了拍是什么意思?
下一篇:小程序中的瀑布流(瀑布流实现最简单方法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~