• 13030阅读
  • 8回复

lineEdit获得焦点后怎样弹出软键盘 [复制链接]

上一主题 下一主题
离线zyppjq
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-09
我现在做了一个软键盘用于对lineEdit进行数据输入,但是不知道怎样让lineEdit获得焦点自动弹出软键盘,各位大侠知道的指点一下,不尽感激呀...
离线wxj120bw

只看该作者 1楼 发表于: 2011-07-09
你尝试下让你的软件盘不获取焦点setFocusPolicy(Qt::NoFocus),然后弹出软件盘。
离线zyppjq

只看该作者 2楼 发表于: 2011-07-09
回 1楼(wxj120bw) 的帖子
其实我有很多lineEdit,我是想当光标跳到特定的几个lineEdit的时候,就弹出软键盘,不知道你有没有其他办法
离线zyppjq

只看该作者 3楼 发表于: 2011-07-09
我用了QlineEdit自带的两个信号函数textChanged()和textEdited()试了一下,但是这两个函数都要在lineEdit中的值发生改变时才会触发槽函数,这不是我要的效果,我想要光标进入lineEdit的时候马上就触发槽函数,各位有啥高招吗?
离线wxj120bw

只看该作者 4楼 发表于: 2011-07-09
引用第3楼zyppjq于2011-07-09 15:51发表的  :
我用了QlineEdit自带的两个信号函数textChanged()和textEdited()试了一下,但是这两个函数都要在lineEdit中的值发生改变时才会触发槽函数,这不是我要的效果,我想要光标进入lineEdit的时候马上就触发槽函数,各位有啥高招吗?

你可以重写个组件,实现QWidget::focusInEvent函数 或者过滤lineedit的QFocusEvent事件(installEventFliter)
离线zyppjq

只看该作者 5楼 发表于: 2011-07-11
引用第4楼wxj120bw于2011-07-09 17:14发表的  :
你可以重写个组件,实现QWidget::focusInEvent函数 或者过滤lineedit的QFocusEvent事件(installEventFliter)


恩,谢谢你的回复,你这种方法我在网上也看到过,当时只是觉得有点麻烦,所以没采用.现在看来也只能这样做了.
离线ripley2010
只看该作者 6楼 发表于: 2011-08-08
有个办法可行,在键盘程序中用一定时器,检查lineEdit获得焦点,有就显示键盘。
离线liyuanjin87
只看该作者 7楼 发表于: 2013-04-08
回 5楼(zyppjq) 的帖子
离线j1111011

只看该作者 8楼 发表于: 2013-05-02
先写一个Widget,去实现自定义的软键盘,当lineEdit on focus 了,就show 这个Widget
快速回复
限100 字节
 
上一个 下一个