Qt-QLineEdit的创建和使用

一、创建

    QLineEdit* edit = new QLineEdit;
//     或者
//    QLineEdit* edit = new QLineEdit("test",this);

二、使用

对lineEdit的生成位置、大小、文本格式进行调整

    QFont font; //创建一个lineedit的字体font
    font.setFamily("宋体"); //字体
    font.setPixelSize(20); //字体大小
    //edit设置
    edit->setParent(this);//设置父窗口
    edit->setFont(font);
    edit->setText("这是一个line edit");
    edit->setGeometry(100,100,300,30); //开始位置(100,100) 宽高300,30

效果:

 占位符,输入文本可以覆盖掉占位符内容

edit->setPlaceholderText("提示"); //占位符,键入会覆盖掉

效果:

如果是输入密码时输入文本,那么就把显示的格式设置成密码格式

edit->setEchoMode(QLineEdit::Password); //让edit显示的内容变成密码格式

效果:

还可以设置文本对上下左右边缘的间隔距离

edit->setTextMargins(20,0,0,0); //设置文本对上下左右的间距

还可以设置一个btn一键清空文本

edit->setClearButtonEnabled(true); //可以清除所有文本的btn

 可以用过text()方法获得lineEdit的文本

//读取文本
QString str = edit->text();
qDebug()<< str;

 三、槽函数

LineEdit本身提供了8个槽函数,都是void返回值类型 

clear()

清空文本框中的内容

copy() const

将所选文本复制到剪贴板(如果有),并且 echoMod为“正常”。

cut()

将所选文本复制到剪贴板并删除它(如果有),并且 echoMode() 为“正常”。
如果当前验证程序不允许删除所选文本,则 cut() 将复制而不删除。

paste()

在光标位置插入剪贴板的文本,删除任何选定的文本,前提是行编辑不是只读的。

redo()

如果重做可用,则重做上一个操作。

selectAll()

选择所有文本(即突出显示它)并将光标移动到末尾。这在插入默认值时很有用,因为如果用户在单击小部件之前键入,则所选文本将被删除。

setText(const QString &)

指定文本框中的内容

undo()

如果撤消可用,则撤消上一个操作。取消选择任何当前所选内容,并将所选内容的起点更新到当前光标位置。

四、信号函数

LineEdit提供了六个返回值为void的信号函数

cursorPositionChanged(int old, int new)

每当光标移动时,就会发出此信号。以前的位置由旧位置给出,新位置由新位置给出。

editingFinished()

当按下 Return 或 Enter 键或行编辑失去焦点时,将发出此信号。如果在行 edit 上设置了validator或 inputMask,并且按下了 enter/return,则只有在输入跟随 inputMask并且validator返回 QValidator::Acceptable 时,才会发出 edititfinished 信号。

returnPressed()

当按下 Return 或 Enter 键时,将发出此信号。如果在行 edit 上设置了validator或 inputMask,并且按下了 enter/return,则只有在输入跟随 inputMask并且validator返回 QValidator::Acceptable 时,才会发出 edititfinished 信号。

selectionChanged()

返回行编辑中第一个选定字符的索引;如果未选择任何文本,则返回 -1。

textChanged(const QString &text)

每当文本更改时,就会发出他的信号。通过调用 setText时,会发出此信号。

textEdited(const QString &text)

每当编辑文本时,都会发出此信号。通过调用 setText时,不会发出此信号。

  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值