qt 拼音输入法中文候选框的实现方法

tudou524342451 IT小白  2020-02-20 03:49:21
基于qt4.8 的中英文键盘实现,现在中文的基本实现了,但是界面上的汉字候选框固定显示8个按钮(按钮大小的固定)来显示8个匹配的词,有翻页功能,由于键盘大小固定不能修改,都是单个汉字可以正常显示,如果为多个汉字的话,8个按钮显示不全。现在考虑用其他方法如何实现汉字候选框呢?类似现在搜狗,谷歌等输入法的汉字候选框那种。在网上找了自绘控件的代码,看了以后自己试了但是想不出来怎么实现前后翻页,还有继承QLabe自己写控件,也想不出来应该怎样动态放入几个qlable,求大神帮忙看下,谢谢啦。
...全文
179 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tudou524342451 2020-02-26
谢谢大家帮忙,setparent以后就可以显示了,具体细节还需要再调试,非常感谢。
回复
代码最终会通过接口在屏幕上绘制出画面,ui文件还是代码动态生成都是一样的,没有必要非得想办法把代码绘制的东西插入到ui文件里去。 比如你ui文件创建好了基本的控件,如背景板,拼音区域,汉字候选区域,这就可以了,接下来可以通过键盘事件的时候动态生成字母的label,new的时候把parent设置到ui文件的拼音区域的控件就行了,汉字同理。
回复
tudou524342451 2020-02-21
引用 3 楼 这是一个正经昵称 的回复:
把QLabel指针放List或者Vector里管理。另外可以适当动态调整候选区的长度
谢谢你的回答,我先创建个widget然后写接口放入多少个qlable并显示出来,再增加点击事件,最后把这个widget插入现存的ui文件里(这地方我不太清楚应该怎么做,您了解这部分吗?),是这个意思吗?现在这个项目的ui界面我只能去修改,就是把汉字候选框那里的8个按钮给换掉,用来显示匹配到的汉字或词组。
回复
把QLabel指针放List或者Vector里管理。另外可以适当动态调整候选区的长度
回复
Italink 2020-02-21
ui不熟,手写代码用的多,自己继承过来的控件,在界面对象中创建控件对象,setParent就放进去了,如果窗口有布局(hbox,vbox。。)等,调用布局的addWidget放进去
回复
tudou524342451 2020-02-21
引用 5 楼 Italink 的回复:
QFontMetrics可以获取所用字体显示的字符串数据(宽、高),要么你固定显示8个候选词,根据所有候选词的宽度调整你键盘的宽度,要么,你按顺序获取候选词的宽度,看能放多少个候选词进去
谢谢,按照您的回答我可以确定每页显示几个了,我自己自绘了一个控件,但是不知道怎么插入到现有的ui界面上,我刚接触这方面的不是很了解
回复
Italink 2020-02-21
QFontMetrics可以获取所用字体显示的字符串数据(宽、高),要么你固定显示8个候选词,根据所有候选词的宽度调整你键盘的宽度,要么,你按顺序获取候选词的宽度,看能放多少个候选词进去
回复
Italink 2020-02-20
你好,没太看懂呢要怎么做,我对Qt5的自绘控件用的还行,请加一下QQ:657959053
回复
tudou524342451 2020-02-20
麻烦大家帮看下,谢谢啦
回复
相关推荐
Qt5软键盘实现中文拼音输入法
)[+]一、序基于Qt实现的虚拟键盘实现输入法在网上所有资料看来,几乎都是基于生成的中文汉字数据库实现的方法,不够灵活,不够智能。二、实现1、拼音输入法的库我们采用的安卓底层的谷歌拼音输入法,在Qt5.7之后,Qt...
搜狗输入法找不到候选框问题解决
右键点击搜狗输入法的状态栏, 是否有输入法修复,如果没有,就先换个其他皮肤,然后点击输入法修复,ok
改变谷歌输入法候选词的横纵排列方式
电脑不知点到什么地方,把google pinyin 的候选词排列方式搞成了纵向,感觉很不习惯,想把它改回来,奈何设置里全是英文,挑战性极大,还好可以借助翻译工具,才顺利的把它给该回来。 首先调出这个界面 主要更改...
Qt 软键盘的实现(QWidget),支持中文输入法、数字、英文切换
**出发点:由于Qt自带的软键盘是QML的,如果使用QWidget模式去编写调用自带的软键盘的话,在ARM下运行会全屏漆黑,并不是我们想要的效果,所以,在网上搜了很多的资料,自己去做了自制键盘,在项目中使用。...
轻量级Qt键盘-中文输入
在原有的键盘基础上新增中文输入功能。
虚拟机 Ubuntu 16.04.3 LTS 安装搜狗拼音输入法
之前在虚拟机上安装好ubuntu 16之后试着安装搜狗拼音输入法,结果失败了。并且以后开机后就出现了如下图所示的错误提示: 查看相关博客之后,说是缺少相关源的问题 下面一行命令并重启之后就解决了开机后一直...
Ubuntu下使用搜狗输入法候选字显示乱码问题的解决
@Ubuntu下sogou输入法候选字显示乱码 Ubuntu下搜狗输入法候选字乱码   在Ubuntu下使用搜狗输入法之前也没有出现过类似的候选字乱码的情况, How to slove it? 点击系统桌面的右上角的输入法配置按钮>>...
【Linux】Ubuntu16.04安装搜狗拼音输入法报错libopencc1,fcitx-libs,fcitx-libs-qt
解决办法,安装相关缺失软件,在终端输入 sudo apt-get -f install...sudo apt-get install libopencc1 fcitx-libs fcitx-libs-qt 然后,重新安装输入法。 sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb  ...
Ubuntu安装搜狗拼音输入法中文输入法)
目录 1、下载文件 2、打开安装目录,调出终端。 3、打开“系统设置“,点击”语言支持“,然后弹出... 4、然后把里面的IBus改为fcitx,然后关掉,然后重启电脑。...5、重启电脑后,会看到屏幕右上角有企鹅输入fcitx。...
QtCreator解决输入中文的问题
(1)安装fcitx-frontend-qt5,命令行里输入sudo apt-get install fcitx-frontend-qt5 (2) 把/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 复制到了: ...
ubuntu 10.10 google拼音输入法 实现光标跟随
# gksu gedit /etc/X11/xinit/xinput.d/scim 将GTK IM MOUDLE=xim 和QT IM MOUDLE=xim 后边的xim都改为scim,保存退出. 在scim输入法中进行了如下...scim输入法设置->面板->GTK->嵌入式候选词表的勾去掉、垂直式
ubuntu下安装google拼音输入法
ubuntu下安装google拼音输入法 step 1:设置root帐号密码 输入命令: sudo passwd root 根据提示输入root帐号密码。 step 2:保证以root帐号权限进行后续操作 如果不是用root帐号登录系统 ...
ubuntu 10.10 安装google拼音输入法实现光标跟随
ubuntu 10.10 安装google拼音输入法实现光标跟随2011-04-06 16:33参考网址:http://blog.csdn.net/jubincn/archive/2010/11/07/5993043.aspxstep 1:安装git,从g
RHEL 6.4(i386)安装基于fcitx的搜狗拼音输入法
  装载地址:... RHEL 6.4(i386)安装基于fcitx的搜狗拼音输入法 2013-12-03 19:30 7465人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: Linux/Unix(25)
Qt在设计ui界面时,在控件中输入中文,会自动变成英文字母,解决方案
用的微软的拼音输入法,输入中文时,刚想选择候选的文字,就直接变成了拼音,就像敲了回车而不是按了空格键。 如下图: 4.解决方案 在工具栏中,帮助>关于插件,取消红色选框中的插件,就解决了。亲测可用。 ...
在centos7搜狗拼音输入法安装
然后安装fcitx输入法基础环境 配置用户目录下的.bashrc即可 原文: 链接: http://blog.csdn.net/yang1982_0907/article/details/17100409 1. 卸载iBus yum remove ibus 2. 将RHEL
ibus输入法窗口位置异常左下角
打开终端, sudo apt-get install ibus-pinyin,这样就安装了拼音输入法 或者用软件管理器找到ibus-pinyin 然后我发现输入法到待选字整天都在左下角,全屏之后就看不见待选字了。一番搜索,其实...
linux安装fcitx中文输入法,解决没有候选项的问题(debian10)
鉴于之前我写过一篇文章,这里就不啰唆了,主要就是安装输入法界面和卸载一些没有用的输入法,最后一个卸载的是有可能导致中文输入法没有候选项。 sudo apt-get install fcitx-frontend-gtk2 sudo apt-get install...
Ubuntu 12.04 安装中文拼音输入法 ibus
sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 ibus-pinyin 2.装好后输入下面的命令启动ibus im-switch -s ibus 3.输入下面的命令让系统任务栏...
Ubuntu 12.04 安装中文拼音输入法 (ibus架构) 图文教程
中国人要输中文, 但是限于本人水平,只会用拼音输入法, 所以就有了如下探索过程: 1. 执行如下命令,安装必要的组件 sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 ibus-...
manjaro linux安装中文输入法
sudo pacman -S fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk fcitx5-chinese-addons 修改环境变量(在主文件夹修改,也就是home/XXX/… 也就是有公共、模板、视频、图片啥的那个文件夹下) 新建一个.p
Ubuntu 10.04安装google拼音输入法
安装步骤(需要自己编译):A. 获取代码:(没有git的先... 编译前提:上面给的链接里面有介绍怎么编译的,但少提了几个必需组件,这里列一下:* autotools-dev* libgtk2.0-dev* libscim-dev* libtool* automake用下
米文域控制器(Xavier) 配置中文输入法
2、Download from选项里,有教程提到other选项,我这里没有,就用修改配置文件的方法。 二、调出输入法小图标 勾选左下角在菜单栏显示输入法 三、配置IBUS拼音 这是一篇相当有用的参考教程,感谢作者。我按照教程...
linux中文输入法,ibus光标不跟随
打开终端, sudo apt-get install ibus-pinyin,这样就安装了拼音输入法 或者用软件管理器找到ibus-pinyin 然后我发现输入法到待选字整天都在左下角,全屏之后就看不见待选字了。一番搜索,其实是因为ibus没有在...
ibus输入法
拼音输入法,是基于IBus,使用C++语言开发的智能拼音输入法。 输入法上手指南 怎样安装? Fedora 用 root 身份在终端下,运行下面命令: yum install ibus-pinyin ibus ibus-gtk ibus-qt 使用im...
手把手做安卓应用开发
安豆是一个想学Android应用开发的小白,于是它找到自己的邻居-程序员大牛-熊哥帮忙。熊哥手把手带着安豆搭建程序的开发环境,实现应用的功能,美化应用界面,让安豆终于开发出了自己的第一个安卓应用-计算器。 学习的过程中,两个伙伴有问有答,学习的过程生动有趣。你一定不会睡着。 让从没有接触过安卓开发并且什么都不会的小白,变成一个能够开发出简单的计算器应用的菜鸟。 让小白对安卓开发有个整体的认识,初步形成安卓开发的概念,掌握安卓开发最最基础的知识。
《UML面向对象需求分析与建模教程》 邹盛荣 主编 电子版 2016.01 .doc
PPT已在CSDN均可免费下载 《UML面向对象需求分析与建模教程》 邹盛荣 主编 电子版 2016.01 .doc 当当网上可购买纸质书: http://product.dangdang.com/23766413.html
STM32F407 / F103 PCF8575模块 控制16个I/O口 IIC通信
本例程为STM32F407控制PCF8575模块的16个I/O口输出,本例程基于正点原子STM32F407 IIC例程修改,本例程中使用PCF8575控制16个继电器。
OpenGL-实现视频播放(FFMpeg)
课程采用FFMpeg作视频解码,采用OpenGL实现视频的渲染,从RGB数据的绘制,到直接渲染YUV数据,实现三路YUV数据单纹理的输入,提升系统性能,接着采用PBO方式优化内存到显存的传输,实现DMA传输,解放CPU,将解码和渲染分离到不同的线程中,极大的提升了系统的性能。后介绍视频特效的实现。 介绍如何采用OpenGL渲染视频帧数据,从固定管线到可编程管线一次实现,采用PBO实现DMA数据传输处理,以及简单的视频特效的实现。
比较两张图片差异
比较两张图片差异,代码收集于网上,码收集于网上
发帖
其它技术问题
创建于2007-09-28

3842

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2020-02-20 03:49
社区公告
暂无公告