找回密码
 立即注册
收起左侧

求 Qt Creator 软键盘(字母与数字)设计帮助

7
回复
12883
查看
[复制链接]
累计签到:15 天
连续签到:1 天
来源: 2016-4-13 17:50:13 显示全部楼层 |阅读模式
2Qter豆
各位大师们好!

       最近因为项目需要,需设计一个 包含字母和数字的软键盘用于操作输入(类似于 QQ登陆框),鼠标点击用户名框选中输入框,再点击 “软键盘”,弹出软键盘界面,通过软键盘能输入数字和字母。目前我已经做好UI,
但是不懂得:软键盘上的键值是通过什么方式传递给输入框的??

       请赐教,不胜感激!!!


PS:谁能帮忙读懂翻译下以下代码:  谢谢

void Keyboard::Input_letter_to_linEdit(const QString letter){
    QWidget *q = QApplication::focusWidget();    QLineEdit *e;    QTextEdit *t;        //这个位置 QTextEdit 为什么 是失效的??
    if (q != NULL)    {        e = dynamic_cast<QLineEdit *>(q);        if (e != NULL) e->insert(letter);
        t = dynamic_cast<QTextEdit *>(q);        if (t != NULL) t->insertPlainText(letter);    }}

回复

使用道具 举报

累计签到:595 天
连续签到:1 天
2016-4-13 18:05:56 显示全部楼层
qt自带的Demo里面有一个实现软键盘的例子你可以看看。
回复

使用道具 举报

累计签到:956 天
连续签到:1 天
2016-4-14 09:35:37 显示全部楼层
这个不难。。。自己多看看例子
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2016-4-14 09:56:58 显示全部楼层
wdmxtk002 发表于 2016-4-14 09:35
这个不难。。。自己多看看例子

例子挺少的,你有没有相关,能发一封给我参考下,谢谢
目前是问题是:
     怎么把软键盘的键值发送给焦点widget
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2016-4-14 09:57:57 显示全部楼层
sywh 发表于 2016-4-13 18:05
qt自带的Demo里面有一个实现软键盘的例子你可以看看。

例子挺少的,你有没有相关,能发一封给我参考下,谢谢
目前是问题是:
     怎么把软键盘的键值发送给焦点widget

点评

当然通过信号槽来传递信息了。。。自定义信号来发送当前你软键盘上那个按键被点击了  详情 回复 发表于 2016-4-14 10:07
回复

使用道具 举报

累计签到:956 天
连续签到:1 天
2016-4-14 10:07:23 显示全部楼层
lankong 发表于 2016-4-14 09:57
例子挺少的,你有没有相关,能发一封给我参考下,谢谢
目前是问题是:
     怎么把软键盘的键值发送给焦点 ...

当然通过信号槽来传递信息了。。。自定义信号来发送当前你软键盘上那个按键被点击了
回复

使用道具 举报

累计签到:15 天
连续签到:1 天
2016-4-22 11:03:26 显示全部楼层
wdmxtk002 发表于 2016-4-14 10:07
当然通过信号槽来传递信息了。。。自定义信号来发送当前你软键盘上那个按键被点击了 ...

通过 Qt4里的Demo 的例子实现的简单的软键盘,但是退格键实现不了,你懂嘛??怎么实现能退格删除
回复

使用道具 举报

累计签到:208 天
连续签到:1 天
2016-5-13 09:48:32 显示全部楼层
本帖最后由 和煦阳光 于 2016-5-13 09:50 编辑

网上的资料还是不少的,多看看就行了,退格键用sendevent发送一个Qt::backspace估计可以实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了