* Type : slot
* Func : cancel login
* In : Null
* Out : Null
*/
void QLogin::cancel()
{
managerEdit->clear();
passwdEdit->clear();
close();
}
main.cpp
[html] view plaincopyprint #include
#include "login.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLogin login;
login.show();
return app.exec();
}
#include
#include "login.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLogin login;
login.show();
return app.exec();
}
【分析】
1 改动后,省去了繁杂的调用步骤,只要采用
[html] view plaincopyprint QLineEditWithIM *managerEdit;
managerEdit = new QLineEditWithIM;
QLineEditWithIM *managerEdit;
managerEdit = new QLineEditWithIM;
替代
[html] view plaincopyprint QLineEdit *managerEdit;
managerEdit = new QLineEdit;
QLineEdit *managerEdit;
managerEdit = new QLineEdit;
在鼠标单击时,就可以弹出输入法了。
2 去掉qlineeditwithim.cpp中注释,即改为
[html] view plaincopyprint #include "qlineeditwithim.h"
QLineEditWithIM::QLineEditWithIM()
{
#ifdef Q_WS_QWS
im = new InputMethod;
installEventFilter(im);
connect(im->keyboard,SIGNAL(setvalue(QString)),this,SLOT(setText(QString)));
#endif
} www.2cto.com
#include "qlineeditwithim.h"
QLineEditWithIM::QLineEditWithIM()
{
#ifdef Q_WS_QWS
im = new InputMethod;
installEventFilter(im);
connect(im->keyboard,SIGNAL(setvalue(QString)),this,SLOT(setText(QString)));
#endif
}
在嵌入式版本中将弹出输入法,其他版本不会弹出输入法。
3 QLineEditWithIM重用了QLineEdit的方法,并增加了嵌入式输入法功能。而且没有增加任何调用开销。
转载请标明出处,仅供学习交流,勿用于商业目的
Copyright @ http://blog.csdn.net/tandesir
作者:tandesir