編集行をすぐに検証したい。編集行フィールドを離れた直後に、入力した値が間違っている可能性があることをユーザーに伝えたいと思います。
そこで、ラインエディットをeditingFinished()シグナルに接続します。ただし、問題は、ライン編集の外側をクリックしたとき、たとえばダイアログをクリックしたときなどに、信号が出力されないことです。ダイアログで他の行編集をクリックすると出力されます。そのため、編集行の外側をクリックするたびに発生する信号を探しています。どうすればこれを達成できますか?
connect(mLineEdit, SIGNAL(editingFinished()), this, SLOT(Validate()))
MyDlg::Validate()
{
QString text = mLineEdit->text();
bool isValid = check_if_valid(text);
if(!isValid)
// set the color of edit line to be red
}