• 7818阅读
  • 7回复

怎样实现QTextEdit中的backspace(删除),里面好像没有这个现成的功能 [复制链接]

上一主题 下一主题
离线xqd008
 
只看楼主 倒序阅读 楼主  发表于: 2008-09-15
— 本帖被 XChinux 执行加亮操作(2008-09-16) —
请教,怎样实现QTextEdit中的backspace(删除),里面好像没有这个现成的功能?
离线suraid
只看该作者 1楼 发表于: 2008-09-16
可能是因为QTextEdit支持富文本吧
你可以先把text取出来,操作完了再set回去,最简单的办法
SuRaid团队主要承接嵌入式、Web、美工、算法设计等业务

团队网址: http://www.suraid.cn
团队博客: http://blog.suraid.cn
团队邮箱: bbs@esuraid.com
离线lenovosoft
只看该作者 2楼 发表于: 2008-09-16
重载这个类自己封装吧
离线xqd008
只看该作者 3楼 发表于: 2008-09-17
谢谢二楼的介意.
离线xqd008
只看该作者 4楼 发表于: 2008-09-17
我试过重载,没有成功.能告诉我具体做法吗?
离线q3310110

只看该作者 5楼 发表于: 2008-10-22
        ui.textEdit->moveCursor(QTextCursor::PreviousCharacter,QTextCursor::KeepAnchor);
        ui.textEdit->cut();
        ui.textEdit->setFocus();


It's me  Ada
problem must process by yourself.this method is simply but useful.
Ada.
And smile smile smile.
离线q3310110

只看该作者 6楼 发表于: 2008-10-22
引用第1楼suraid于2008-09-16 11:22发表的  :
可能是因为QTextEdit支持富文本吧
你可以先把text取出来,操作完了再set回去,最简单的办法



No !
The focus have different position
use this method can not arrived.
Ada.
And smile smile smile.
离线huishouliu
只看该作者 7楼 发表于: 2009-02-05
可能是因为QTextEdit支持富文本吧
你可以先把text取出来,操作完了再set回去,最简单的办法
-----------------------------
通过set方法丢进去的文本没有了focus,这样做的意思是什么呢,还是重载吧
不知道楼主用的是什么版本的,我用的是qt4的,实现方法
      QTextCursor cursor = textEdit->textCursor();
      cursor.deletePreviousChar();
[ 此贴被huishouliu在2009-02-05 16:11重新编辑 ]
MSN/Email :huishouliu@126.com
快速回复
限100 字节
 
上一个 下一个