在symbian真机下,如果我们建一个编辑框,当单击这个编辑框时:系统就会默认跳出系统本身的输入法窗口来,有时候我们可能需要禁止这种操作和联系,转而实现自己的一些操作,此时该如何操作呢?
原本我把这个问题想的很复杂,想去查symbian的SDK来禁止或者咨询下symbian有没有类似windows钩子的这种机制,但最后很简单的就把这个问题给搞定了:之需要调用QTextEdit的一个函数:setReadOnly(true)即可!
我们将QTextEdit设置为只读后,相当于禁止用户去对其编辑,那么系统就不会跳出本身的输入法来让用户进行编辑了。此后可能有人会担心QTextEdit会接受不到一些事件,其实大可不必担心,如此设置后的优劣如下:
作用:切断了编辑框与系统输入法之间的联系。(此后编辑框依旧可以接受用户点击事件,改变光标位置等等)
副作用:闪烁的cursor不再显示了;输入文字无法用键盘或者输入法输入了,只能用setText()或者类似的输入函数来实现。
如何降低副作用:关键是如何重新实现键盘的输入,这个还是很容易的:只要重新实现keyPressEvent(),在函数体中调用setText()即可!
测试环境:N97 + Qt4.6.2
分享到:
相关推荐
qt中QTextEdit控件中的所有文本内容,原封不动地保存到文本文件,路径写死的版本。
一个QTextEdit如何实现gif动画的demo 记得把gif文件和可执行文件换在同一个目录
使用方法,在main函数中加入如下语句,并奖相关文件添加到qrc中: QTranslator translator; translator.load(QString(":/cfg/xml/widgets.qm")); app.installTranslator(&translator); QTranslator translator2;...
This article shows how to play animations in a QTextEdit.
QT自定义QTextEdit实现大数据的实时刷新显示,下载之后直接使用,内部代码有清晰的注释。
Qt之QTextEdit拖拽显示 源码 Qt5 minGW32 win实测可运行
Qt例程源代码QTextEdit.7z
Qt 在通过加载安装目录的translations文件夹下qt_zh_CN.qm翻译文件无法解决QTextEdit、QPlainTextEdit 、QTextBrowser 等控件的右键翻译失效问题。这里自己生成了有效的qm文件
QT 打开连接 例子 和 QTextEdit添加超级连接例子 单机 默认使用默认的浏览器打开链接
QTextEdit只接受数字输入工程完整源码,包括事件过滤器和重写键盘事件两种实现方式,其中重写键盘事件方式可作为提升控件用,多次使用
通过html的css实现段间距设置,行间距是用QTextBlockFormat QTextBlock等配合设置。
自定义自己的QTextEdit类,实现汉字占两行,字母数字占一行的功能。
`QTextEdit` 是 Qt 中用于多行文本输入和显示的控件,允许用户输入和编辑多行文本。以下是如何使用 `QTextEdit` 的说明和一个简单的示例: **使用说明:** 1. **创建 QTextEdit 对象:** ```cpp #include ...
可以改变QTextEdit滚轮每次滚动的距离,利用事件过滤器,获取过滤QTextEdit的滚轮事件,修改每次滚动的距离
程序功能:在失去QTextEdit控件失去焦点的时候放弃正在输入的内容。 解决搜狗(或QQ)输入法等输入法失去焦点时会将字幕输入到输入框问题。 运用了Qt的事件监听(eventFilter)技术,自定义窗口部件(提升法)技术。 ...
大牛说不建议从QtextEdit着手。我自己写的,期待品评。主要是重写了事件筛选器,打日志查看失去焦点过程中都有哪些事件发生并进行拦截,借助Qt自带的QInputMethodEvent输入法事件,做出对CommitString和...
Qt翻译源码翻译文件(解决QTextEdit没有翻译的版本) // Qt中文翻译 QTranslator qtTranslator; { QDir dir(qApp->applicationDirPath() + "/translations"); dir.setFilter(QDir::Files | QDir::Hidden | QDir:...
pyqt QLineEdit QTextEdit 右键菜单汉化 调用方法: translator = QTranslator() translator.load('qt_zh_CN.qm') app.installTranslator(translator) translator2 = QTranslator() translator2.load('widgets....
1.QQ:513187410 2.保证无毒 3.简单,方便,实用 4.实例可以自行改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用!
经过查阅资料,发现在使用输入法时,不会发出按键事件,而是另外一种不太常见的事件类型:QEvent::InputMethod ,与之关联的事件为:QInputMethodEvent 。 为了正确处理这类事件,我简单封装了一个辅助类,效果相当...