Qt - 如何测试 QTableWidget 项目的文本是否为整数?

Qt - How to test whether the text of QTableWidget item is an integer number or not not?

我正在使用 Qt 和 C++。如果我有一个 QTableWidget,我如何测试一个项目的文本是否是一个整数?

if(table->item(index, 0)->text().is_integer())
    Qdebug("yes is an integer") ;
else 
    Qdebug("no is not an integer") ;

您可以像通常的 QStringint 转换一样进行操作 - QString::toInt,但您可以忽略 return 值。我建议使用此辅助函数,因为 QString::toInt 可以让您了解 success/failure:

bool isInt(QString const& str, int base = 10)
{
    bool ok = false;
    str.toInt(&ok, base);
    return ok;
}

用法:

if(isInt(table->item(indice, 0)->text()))
    ...

编辑: 不知道为什么这里用了toInt。如果有更大的数字只能用更大的整数数据类型表示(或者您只想处理 unsigned 数字),请为这些创建此函数。