Qt QTableWidgetセル入力規則 数値のみ

MEMO
QTableWidgetのセルに入力規則を設定します。
正規表現を使用して数字のみを受け入れるサンプルです。
mainwindow.cpp

#include "mainwindow.h"
#include "./ui_mainwindow.h"

#include <QLineEdit>
// #include <QRegularExpression>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


    QTableWidget *t = ui->tableWidget;

    // 正規表現を使用して数字のみを受け入れる
    for (int row = 0; row < t->rowCount(); row++) {
        for (int column = 0; column < 2; column++) {
            QLineEdit *lineEdit = new QLineEdit;
            lineEdit->setStyleSheet("border: none;");
            t->setCellWidget(row, column, lineEdit);

            // 正規表現を使用して数字のみを受け入れる
            connect(lineEdit, &QLineEdit::textEdited, this, [=](const QString &arg1) {
                QString inputText = arg1;
                QRegularExpression re("\\D");   // 半角数字以外
                if (re.match(inputText).hasMatch()) {
                    lineEdit->blockSignals(true);
                    lineEdit->setText(inputText.left(inputText.length()-1));
                    lineEdit->blockSignals(false);
                }
            });
        }
    }
}