QLineEdit 输入验证(相关的设置)

LineEdit提 供一个文字输入栏位,可以输入文字或数字,我们可以对输入作验证,或是设定为一般显示、密码显示等等,以下的程式是个简单的设定示范:

setEchoMode() 可以設定輸入文字的顯示方式,有一般顯示 (QLineEdit::Normal)、密碼顯示( QLineEdit:: Password)與不回應文字輸入( QLineEdit:: NoEcho),密碼顯示會使用遮罩字元(像是*)來回應使用者的輸入。 setEchoMode() 可以设定输入文字的显示方式,有一般显示(QLineEdit::Normal)、密码显示( QLineEdit:: Password)与不回应文字输入( QLineEdit:: NoEcho),密码显示会使用遮罩字元(像是*)来回应使用者的输入。 setValidator()設定是否對欄位的輸入進行驗 證,QIntValidator用於設定整數的驗證方式,也可以設定其它的驗證器,像是QDoubleValidator用於浮點數的驗證。 setValidator()设定是否对栏位的输入进行验证,QIntValidator用于设定整数的验证方式,也可以设定其它的验证 器,像是QDoubleValidator用于浮点数的验证。 QLineEdit 還可以設定文字對齊方式,有置左對齊(Qt::AlignLeft)、置中對齊( Qt:: AlignCenter)與置右對齊( Qt:: AlignRight)等設定方式,也可以使用setReadOnly()設定QLineEdit的欄位是否可編輯。 QLineEdit 还可以设定文字对齐方式,有置左对齐(Qt::AlignLeft)、置中对齐( Qt:: AlignCenter)与置右对齐( Qt:: AlignRight)等设定方式,也可以使用setReadOnly ()设定QLineEdit的栏位是否可编辑。

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

(1 ) 当文本长度大于QLabel 控件长度时,超过的文本部分不会显示 出来。处理方法:

1 、 用QLineEdit 代替原来的QLabel 2 、去掉QLineEdit 的frame setFrame ( false); 3 、用样式表设置QLineEdit 背景透明 setStyleSheet("background-color:transparent"); 纠正一下:上面这个效果好,但是有个问题,在QLineEdit 上用右键菜单显示不正常 3 、用样式表设置QLineEdit 背景透明 setStyleSheet("background-color:rgba(212,208,200,255);");  // 后面的颜色值是QWidget 默认背 景颜色值 (2 )实现一个普通状态下为QLabel (只 有文字,没有输入框)点击后变成输入框。现在的实现是组合两个对象, 普 通情况下显示QLabel, 接收clicked 信号后显示QLineEdit 。但这样的实现很丑陋... 如 果可以设置QLineEdit 为透明背景就方便了。

QLineEdit{     background:rgba(0,0,0,0%); }

(1)单行文本框QLineEdit

常用的方法和属性:

  (a)获取和设置文本对齐方式

[cpp] view plaincopy

  1. Qt::Alignment   alignment () const
  2. void    setAlignment ( Qt::Alignment flag )  

  (b)获取和设置文件框的内容

[cpp] view plaincopy

  1. QString text () const
  2. void    setText ( const QString & )  

  (c)获取和设置选择的文本

[cpp] view plaincopy

  1. QString selectedText () const
  2. void QLineEdit::setSelection ( int start, int length )  

  (d)获取和设置echoMode模式

[cpp] view plaincopy

  1. EchoMode    echoMode () const
  2. void    setEchoMode ( EchoMode )  

echoMode模式的值可以是:

[plain] view plaincopy

  1. QLineEdit::Normal   0   Display characters as they are entered. This is the default.  
  2. QLineEdit::NoEcho   1   Do not display anything. This may be appropriate for passwords where even the length of the password should be kept secret.  
  3. QLineEdit::Password 2   Display asterisks instead of the characters actually entered.  
  4. QLineEdit::PasswordEchoOnEdit   3   Display characters as they are entered while editing otherwise display asterisks.  

(2)多行文本框QTextEdit    QTextEdit显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平和垂直滚动条。

  通过设置acceptRichText属性,QTextEdit不仅可以显示文字,还可以显示HTML文档、图像、表格等元素。

示例:

(1)设置多行文本框的内容:

[cpp] view plaincopy

  1. textEdt->setPlainText("12345\nabcdef");  

(2)获取多行文本框的内容:

[cpp] view plaincopy

  1. QString str;  
  2. str = textEdt->toPlainText();  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阮一峰的网络日志

CSS使用技巧

在修改模板的过程中,需要重写CSS样式表。正好看到instantshift.com有一篇CSS常用技巧的总结文章,我就把它整理出来,供自己参考,也希望对大家有用...

1881
来自专栏HTML5学堂

jQuery特效 | 导航底部横线跟随鼠标缓动

HTML5学堂(码匠):jQuery来实现如下特效 - 在导航底部存在一条横线,跟随着鼠标缓动到相应导航项底部。 2月初,接收到了公众号读者的效果需求,希望能够...

4035
来自专栏林德熙的博客

.net Framework 源代码 · ScrollViewer 使用原理其他源代码分析

本文是分析 .net Framework 源代码的系列,主要告诉大家微软做 ScrollViewer 的思路,分析很简单。 看完本文,可以学会如何写一个 Scr...

1121
来自专栏hightopo

基于 HTML5 的 3D 工控隧道案例

1492
来自专栏九彩拼盘的叨叨叨

CSS 核心技能点

1002
来自专栏向治洪

React Native之react-native-scrollable-tab-view详解

在React Native开发中,官方为我们提供的Tab控制器有两种:TabBarIOS和ViewPagerAndroid。TabBarIOS,仅适用于IOS平...

8486
来自专栏LIN_ZONE

css 控制文字超出部分显示省略号

该文章转自:http://www.daqianduan.com/6179.html

1522
来自专栏Java后端技术

HTML标记语法总结

         语法:<标记名>…标记内容…</标记名>,如:<a>这是百度的主页</a>

2042
来自专栏帮你学MatLab

《Experiment with MATLAB》读书笔记(六)

读书笔记(六) 这是第六部分绘图 主要通过绘制分形图案展示绘图命令 function fern shg %显示画图界面 clf reset %清...

2846
来自专栏前端杂货铺

翻译:如何使用CSS实现多行文本的省略号显示

本文翻译自CSS Ellipsis: How to Manage Multi-Line Ellipsis in Pure CSS,文中某些部分有些许改动,并添...

3906

扫码关注云+社区

领取腾讯云代金券