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);/* 输入密码的模式 */// edit.setEchoMode(QLineEdit::PasswordEchoOnEdit);/* 获取输入的密码 */// edit.text();/* 输入的密码占位符 */// 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开发的时候,没有见到过的地方。