QT中,在QLineEdit控件中输入一个数值,比如0.2,如何获取这个数值来使用呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT中,在QLineEdit控件中输入一个数值,比如0.2,如何获取这个数值来使用呢?相关的知识,希望对你有一定的参考价值。

参考技术A //先取得edit里面的值,再转化
QString str = lineEdit->text();

double val = str.toDouble();本回答被提问者采纳

Qt中QLineEdit使用总结

不说废话,下面是Qt官方文档中的一段话——

QLineEdit是一个单行文本编辑控件。

使用者可以利用很多函数,对其中的单行文本进行输入和编辑,包括撤销、恢复、剪切、粘贴以及拖放等。

通过改变lineEdit的echoMode(),可以设置其属性,比如输入的是密码还是普通文本。

文本的长度可以由maxLength()限制,可以通过使用validator()或者inputMask()可以限制它只能输入数字。在对同一个lineEdit的validator或者inputMask进行转换时,最好先将它的validator或者inputMask清除,以避免错误发生。

与QLineEdit相关的一个类是QTextEdit,它允许多行文字以及富文本编辑。

我们可以使用setText()或者insert()改变其中的文本,使用text()获得文本,使用displayText()获得显示的文本,使用setSelection()或者selectAll()选中文本,选中的文本可以使用cut()、copy()、paste()进行剪切、复制和粘贴,使用setAlignment()设置文本的位置。

文本改变时会发出textChanged()信号;如果不是由setText()造成文本的改变,那么会发出textEdit()信号;鼠标光标改变时会发出cursorPostionChanged()信号;当返回键或者回车键按下时,会发出returnPressed()信号。

当编辑结束,或者因为lineEdit失去焦点,或者返回/回车键按下时,将会发出editFinished()信号。

下面分点说明:

1.setPlaceholderText()设置提示文字

技术分享

比如上面豆瓣电影的搜索输入框,没有文字时显示“电影、影人、影院、电视剧”,有文字输入后不会再看到这几个字。

echoLineEdit->setPlaceholderText("电影、影人、影院、电视剧");

 2.setEchoMode()设置模式

switch (index) {
    case 0:
        //默认,输入什么即显示什么
        echoLineEdit->setEchoMode(QLineEdit::Normal);
        break;
    case 1:
        //密码,一般是用小黑点覆盖你所输入的字符
        echoLineEdit->setEchoMode(QLineEdit::Password);
        break;
    case 2:
        //编辑时输入字符显示输入内容,否则用小黑点代替
        echoLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);
        break;
    case 3:
        //任何输入都看不见(只是看不见,不是不能输入)
        echoLineEdit->setEchoMode(QLineEdit::NoEcho);
    }

3.setAlignment()设置文本位置

switch (index) {
    case 0:
        alignmentLineEdit->setAlignment(Qt::AlignLeft);
        break;
    case 1:
        alignmentLineEdit->setAlignment(Qt::AlignCenter);
        break;
    case 2:
        alignmentLineEdit->setAlignment(Qt::AlignRight);
    }

4.setReadOnly()设置能否编辑

switch (index) {
    case 0:
        accessLineEdit->setReadOnly(false);
        break;
    case 1:
        accessLineEdit->setReadOnly(true);
    }

 

以上是关于QT中,在QLineEdit控件中输入一个数值,比如0.2,如何获取这个数值来使用呢?的主要内容,如果未能解决你的问题,请参考以下文章

Qt中QLineEdit使用总结

Qt编写自定义控件51-可输入仪表盘

Qt——QLineEdit使用总结

QT软件开发之基础控件--2.4.1 lineEdit单行文本编辑器

qt中lineEdit输入的字符串另存在数组中怎么搞

Python Qt GUI设计:QLineEdit和QTextEdit文本框类(基础篇—13)