Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
2015-10-19 23:23
357 查看
导读
行文本输入框在用于界面的文本输入,在WEB登录表单中应用广泛。一般行文本编辑框可定制性较高,既可以当作密码输入框,又可以作为文本过滤器。QLineEdit本身使用方法也很简单,无需过多的设置就能进行使用。于是这篇博文主要讲解如何对行文本编辑框QLineEdit进行定制。
基本定制
为了简化工作,还是如同前面所说的,直接用Qt Designer拖一个QLineEdit进行编辑。代码部分不太多:下面编写QSS代码。先考虑下外观应该定制的有哪些方面:边框、背景色、圆角、鼠标悬停时、文本大小,大概差不多了:
效果还不错。下面我们来看看行编辑框的另外一个应用:密码输入框。在默认情况下,当行编辑框用于密码输入时,其效果如下:
利用QSS中的lineedit-password-character属性,我们可以更改密文显示字符内容。QSS代码如下:
当然,我们还可以换成其他的字符,如‘*’。‘*’对应的ASCII码值为42,最终看起来将是:
当然,默认的圆点形式的密文还是更为常见。到底用哪种密文字符还是随个人喜好了。另外,QLineEdit还有一个伪状态:readonly,利用这个伪状态,我们可以设置编辑框禁用时的外观。
自动补全
自动补全是个非常人性化的功能。无论实在面向程序员的代码编辑器中,还是面向终端用户的软件产品中,自动补全都能为工作效率和用户体验带来极大的提升。文本编辑框的自动补全功能在数据过滤器中使用较为常见,用于过滤不相干数据直奔目标数据。在WEB表单中也经常可以看到其的身影,如下是腾讯某产品的一个注册页面:当用户输入邮箱名的时候,编辑框会自动补全邮箱后缀部分。用户输入完邮箱名之后即可选择邮箱类型,也可以让用户看到支持的邮箱类型。在WEB前端开发中,这样的功能已经有相关的JS提供,直接调用就可以实现。我们接下来就是尝试实现Qt版的邮箱补全功能。
说实话,Qt下面的自动补全功能实现起来更加简单。因为Qt库本身就提供了一个类QCompleter来完成这个功能。而且使用起来也很简单,直接调用QLineEdit的setCompleter()即可完成。我们在实现代码中添加如下代码:
定制效果
实现起来还是挺简单的。存在的一个缺陷是,当我们快速输入或删除文本时,补全列表偶尔会出现闪烁的迹象。这是由于数据更新造成的延迟现象。
小结
1. QLineEdit的外观属性,重要的属性:lineedit-password-character.2. QCompleter和QLineEdit搭配使用。
作者:24K纯开源
FROM:http://www.cnblogs.com/csuftzzk/p/qss_lineedit_completer.html
相关文章推荐
- Qt Style Sheet实践(三):QCheckBox和QRadioButton
- Qt Style Sheet实践(二):组合框QComboBox的定制
- Qt Style Sheet实践(一):按钮及关联菜单
- Qt 无边框、透明、可移动、的个性窗体案例详解
- Qt之对话框设计——利用QPalette改变控件颜色
- QT Win7开发环境安装配置程
- Qt5窗口关闭与窗口销毁
- qtxlsx将excel中的数据读取到widget上
- qtxlsx读取excle的数据
- 使用qtxlsx库读取excel表格中的数据
- windows下Qt编译Qtxlsx库和qtxlsx库的使用方法
- Qt SD卡 文件系统挂载、文件预览
- qt编译后提示缺少xxx.dll的解决方法
- Ubuntu 15.04 Qt5 链接 mysql数据库
- Ubuntu 15.04 Qt5 链接 mysql数据库
- Qt:QT中PRO文件写法的详细介绍
- Qt:QWT类的一些使用方法
- qt connect 有先后顺序
- Qt 延时
- QT中使用QProcess启用外部程序和关闭外部程序