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
(b)获取和设置文件框的内容
[cpp] view plaincopy
(c)获取和设置选择的文本
[cpp] view plaincopy
(d)获取和设置echoMode模式
[cpp] view plaincopy
echoMode模式的值可以是:
[plain] view plaincopy
(2)多行文本框QTextEdit QTextEdit显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平和垂直滚动条。
通过设置acceptRichText属性,QTextEdit不仅可以显示文字,还可以显示HTML文档、图像、表格等元素。
示例:
(1)设置多行文本框的内容:
[cpp] view plaincopy
(2)获取多行文本框的内容:
[cpp] view plaincopy