马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
QLineEdit是Qt提供的单行文本编辑框。
1. 设置/获取内容
获取编辑框内容使用text() ==> QString text() const
设置编辑框内容 ==> void setText(const QString &)
2. 设置显示模式
使用QLineEdit类的setEchoMode () 函数设置文本的显示模式 ==> void setEchoMode(EchoMode mode)
EchoMode是一个枚举类型,一共定义了四种显示模式:
QLineEdit::Normal | 模式显示方式,按照输入的内容显示。
| QLineEdit::NoEcho | 不显示任何内容,此模式下无法看到用户的输入。
| QLineEdit::Password | 密码模式,输入的字符会根据平台转换为特殊字符。
| QLineEdit::PasswordEchoOnEdit | 编辑时显示字符否则显示字符作为密码。 | 用QLineEdit显示文本的时候,希望在左侧留出一段空白的区域,那么,就可以使用QLineEdit给我们提供的setTextMargins函数:
void setTextMargins(int left, int top, int right, int bottom)
此函数可以指定显示的文本与输入框上下左右边界的间隔的像素数。
3. 设置输入提示
如果我们想实现一个与百度的搜索框类似的功能:输入一个或几个字符,下边会列出几个跟输入的字符相匹配的字符串,QLineEdit要实现这样的功能可以使用该类的成员函数setComleter()函数来实现:
void setCompleter(QCompleter * c);
创建QCompleter对象,并初始化:QStringList tipList;
tipList<< “Hello” << “how are you” << “Haha” << “oh, hello”;
completer->setCaseSensitivity(Qt::CaseInsensitive); // 不区分大小写
QCompleter *completer = new QCompleter(tipList, this);
QCompleter类的setCaseSensitivity()函数可以设置是否区分大小写,它的参数是一个枚举类型:
Qt::CaseInsensitive => 不区分大小写
Qt::CaseSensitive => 区分大小写
如果不设置该属性,默认匹配字符串时是区分大小写的。
另外我们还可以设置字符串其中某一部分匹配,此功能可通过QCompleter类的setFilterMode函数来实现,函数声明如下:
void setFilterMode(Qt::MatchFlags filterMode);
其参数为Qt定义的宏,有多重类型,要实现我们上边提到的功能,参数可以使用 Qt::MatchContains
属性设置完成之后,将QCompleter对象设置到QLineEdit中:
QLineEdit *edit = new QLineEdit(this);
edit->setCompleter(completer); |