Qt中常用的提示信息设计方法
【问题背景】通常,在项目项目开发的过程中,某些人机交互界面需要对用户的输入数据进行合法性判断,如果用户输入数据合法,则进入下一步流程,否则,就要给出相应的错误提示,以提示用户按照要求输入正确的数据。
【解决思路】首先解决问题一定要严格遵守客户需求(当然,无理需求除外)进行解决,其次就是结合具体情况,在达到客户需求(或软件目的)的情况下采用尽可能美观的效果进行提示,通常有如下三种方法:
- 弹出警告对话框,从而提示错误类型;
- 用户输入完成之后立即判断,如果错误,就给出文字(声音等)提示,注意提示信息尽可能醒目;
- 用户输入完成后,进行下一步动作时进行判断,如果正确,则继续向下执行,否则,返回到输入界面,提示用户按要求输入。
【解决方案】针对第一种情况,通常采用QMessageBox来解决,第二种更适合QLineEidt的输入判断,因此采用setToolTip()函数来实现,第三种可采用自定义方法来解决,通常可用于用户点击完某个按钮时进行提示。
构造函数
#include <QRegExp>
#include <QDebug>
#include <QMessageBox>
#include <QString>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
, m_nTime(3000) //定时3000ms
{
ui->setupUi(this);
init();
connect(ui->pushButton_Digit, &QPushButton::clicked, this, &Widget::onMessageBox);
connect(ui->lineEdit_Integer, &QLineEdit::editingFinished, this, &Widget::onLineEdit);
connect(ui->pushButton_Range, &QPushButton::clicked, this, &Widget::onBtn);
connect(m_pTimer, &QTimer::timeout, this, &Widget::onChange);
}
QMessageBox
该方法是用户点击相应按钮后,系统通过判断输入结果,从而给出错误警告,以下以输入数字为例给出实现方法:
connect(ui-