QLineEdit 单行文本框

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxiaobei2017/article/details/77751126

QLineEdit 单行文本框,顾名思义就是只能输入单行的文本。接下来演示一个登陆窗口的制作如图:
登陆界面

一、首先要在QtDesigner中创建登陆窗口的布局,用到了Label、Line Edit和Push Button。调整用户名和密码的宽度,另外在Line Edit的属性中需要修改placeholderText,它是单行文本在没输入文字之前就显示的文字,如上图的“请输入用户名”,另外密码行的输入不应显示出真实密码,需要用黑点代替,所以要在属性echoMode中选择Password。

属性表

二、 界面创建完成后进入程序中实现关联,也就是在用户输入了正确的用户名和密码后,按下确认按钮,即可执行下一操作,这里我们利用MessageBox来显示下一操作,即输入正确的用户名和密码,弹出“Congratulation”的窗口,错误则显示“Sorry Please Write Again”。

三、和前一篇文章一样,下一步需要在头文件中定义槽,同时在.cpp中插入对应的响应函数;

private slots:
    int OnBtnOK(); // 定义一个槽 当确定按钮按下后的操作

四、接下来连接信号和槽

    //下面进行信号和槽的连接
    // 当按下确定按钮后 程序进入 OnBtnOK函数 中 
    // 此时的信号 Signal 为 clicked()

    connect(ui.btnOK,      // 确定 按钮的objectName
        SIGNAL(clicked()), 
        this,
        SLOT(OnBtnOK()));

五、接下来要看响应函数了,当输入用户名和密码并按下确认按钮后,程序进入了响应函数,因为用到了MessageBox,所以程序的最开始要引用QMessageBox的头文件

int Qt5_2A::OnBtnOK()  //响应函数 
{
    // 获取 LineEdit 中的内容 需要利用 text() 函数
    QString user = ui.editUser->text(); 
    QString password = ui.editPassword->text();

    // 通过两个if 判断 用户名和密码是否正确
    if (user == "vision" && password == "1107")
    {
        QMessageBox::information(this, "OK", "Congratulation");
    }
    else
    {
        QMessageBox::information(this, "NO", "Sorry Please Write Again");
    }

    return 0;
}

六、 通过text()函数获得用户输入的内容,并通过if…else…判断是否正确,并返回结果。
成功

失败

七、 另外也可以在输入密码后按下回车键,达到安下确认键的效果,连接信号和槽,在响应函数中调用OnBtnOK()即可。

    // 连接一下回车键的信号和槽
    // 当按下回车键 后 程序就进入OnReturnPressed函数中
    // 此时的信号为returnPressed
    connect(ui.editPassword,      // 密码 按钮的objectName
        SIGNAL(returnPressed()),
        this,
        SLOT(OnReturnPressed()));

猜你喜欢

转载自blog.csdn.net/wangxiaobei2017/article/details/77751126
今日推荐