当我们在使用一个陌生的软件时常常会感觉不知所措,因此在写软件的时候都要考虑增加一些信息来帮助使用者。比如说提供文字标签来告诉使用者某一块区域的作用是什么。又或者干脆用一块区域滚动显示一些提示。但这里要说的是一种很常见又有用的提示方式,在输入框的内部提示
该输入框需要输入什么内容。
如图所示在输入框的内部用文字说明了我们要输入的内容,当在输入框中输入了内容后这些提示就消失了。这种提示信息在手机应用和网站上很常见,它有个名字叫placeholder。在Qt中以前需要实现这功能可能会用到文本编辑的信号,判断输入框当前编辑的文本内容是否为空,进而设置提示信息很麻烦且容易出错。好在Qt在4.7版本就开始支持这个属性了。QLineEdit提供了一个函数setPlaceholderText()。一个函数就搞定了很是简单。
看到QLineEdit有这么好的功能,多行输入框QTextEdit也不甘示弱,于是在5.2版本中也引入了placeholder的属性,它也提供了一个同名函数
setPlaceholderText().
虽然QLineEdit和QTextEdit都提供了placeholder的属性,但是两者还是存在着一些细微的差别。当QLineEdit的文本是水平布局的时候,只要它获得焦点提示信息就会消失,而不需要输入内容。QTextEdit没有这样的特性。