qt里面的输入框是QLineEdit这个类来实现的。
以下是代码
/* 应用程序抽象类 */
#include <QApplication>
/*窗体类*/
#include <QWidget>
#include <QCompleter>
#include <QLineEdit>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
/* 构造一个窗体*/
QWidget w;
QLineEdit edit;
edit.show();
edit.setParent(&w);
/* 输入password的模式 */
// edit.setEchoMode(QLineEdit::PasswordEchoOnEdit);
/* 获取输入的password */
// edit.text();
/* 输入的password占位符 */
// edit.setPlaceholderText("Please input text:");
/*自己主动补全和提示的字符串*/
QCompleter completer(QStringList() << "aab" << "123" << "998");
/*设置填充类型*/
completer.setFilterMode(Qt::MatchContains);
edit.setCompleter(&completer);
/*显示窗体*/
w.show();
/* QT对C++的拓展 */
// std::bind std::function
// QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close()));
w.setWindowTitle("Hello World");
/*在exec中有一个消息循环*/
return app.exec();
}
当中须要注意的是对于自己主动补全和提示来说,当用户的输入框显示模式为Password PasswordEchoOnEdit的时候。并没有作用。 可是默认情况下,是有代码提示和自己主动补全的。这是在ios开发的时候,没有见到过的地方。