首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt点击LineEdit弹出软键盘,弹不出来,真心不会了,求解。该如何解决

2012-08-02 
Qt点击LineEdit弹出软键盘,弹不出来,真心不会了,求解。。[codeC/C++][/code]//在头文件里声明。。class SoftK

Qt点击LineEdit弹出软键盘,弹不出来,真心不会了,求解。。
[code=C/C++][/code]
//在头文件里声明。。
class SoftKeyboard : public QWidget
{
Q_OBJECT

public:
  SoftKeyboard();
//等等一些必要的东西。。
};
//在.cpp中有如下关键处。。
//Window::Window()里
connect(dateLine, SIGNAL(textChanged(const QString &)), this, SLOT(inputClicked()));
//因为还没有写LineEdit点击就发信号的函数,暂时用textChanged代替。。
SoftKeyboard::SoftKeyboard()
{
setGeometry(600, 240, 40, 100);
//按键排布省略
}

void Window::inputClicked()
{
SoftKeyboard softkey;
softkey.show();

}

然后就是,再怎么在LineEdit里输入东西都不会弹出软键盘,为什么呢。。
ps:纯代码流,布局什么的没有用ui。。

如果能给出个简单的例子,比如按键弹出自定义的窗口也可以(在网上搜了搜,仍是整不明白)。。
多谢了,各位!!!

[解决办法]
void Window::inputClicked()
{
SoftKeyboard softkey;声明要放在类的.h文件里,作为类成员变量。
softkey.show();
你这样的用法,这个函数运行结束,softkey就超出了作用域,被销毁,窗口就没了。其实窗口出来了,又没了太快看不见。
}
[解决办法]
softkey new一遍就行了,不用每次触发就new一个新的,平时hide掉,有信号了show出来即可。
你可以自己先实例一个show出来看看,估计是你的SoftKeyboard 类有问题 show不出东西来。注意自己widget的大小和布局。
[解决办法]
soft.exec()试试,jdwxl说的没错,确实是闪一下就没了。

热点排行