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

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


//在头文件里声明。。
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说的没错,确实是闪一下就没了。