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