私はQtにかなり慣れていないので、誰かがこの問題で私を助けてくれたらありがたいです. 私は Qt Creator を使用しており、PlainTextEdit
. if ステートメントを使用して、このテキスト ボックスに入力されたテキストを検証しようとしています。以下のような関数を作りました
void validateText (QPlainTextEdit *myWidget)
{
if ((myWidget->toPlainText().endsWith("1")) ||
(myWidget->toPlainText().endsWith("2")) ||
(myWidget->toPlainText().endsWith("3")) ||
(myWidget->toPlainText().endsWith("4")) ||
(myWidget->toPlainText().endsWith("5")) ||
(myWidget->toPlainText().endsWith("6")) ||
(myWidget->toPlainText().endsWith("7")) ||
(myWidget->toPlainText().endsWith("8")) ||
(myWidget->toPlainText().endsWith("9")) ||
(myWidget->toPlainText().endsWith("0"))
)
{
qDebug() << "Integer entered";
}
else
{
qDebug() << "Non-integer entered";
}
}
ただし、on_plainTextEdit_textChanged()
スロットからこの関数を呼び出すと、エラーが発生します。
undefined reference to validateText(QPlainTextEdit*)
現在、私はこれまでのところ、このコードを textchanged スロットに持っています:
void Options::on_plainTextEdit_textChanged()
{
validateText(qobject_cast<QPlainTextEdit*>(qApp->widgetAt(180,30)));
}
ご覧のとおり、オブジェクト自体への参照を取得して関数に渡そうとしていますが、これには問題があります。Qt でウィジェット オブジェクトを関数に渡す簡単な方法はありますか?