当前位置: 代码迷 >> QT开发 >> QTableWidgetItem默认编辑时,不是数字的字符也能输入。怎么设置不是数字的就不能输入
  详细解决方案

QTableWidgetItem默认编辑时,不是数字的字符也能输入。怎么设置不是数字的就不能输入

热度:121   发布时间:2016-04-25 05:02:08.0
QTableWidgetItem默认编辑时,不是数字的字符也能输入。如何设置不是数字的就不能输入?
QTableWidgetItem默认编辑时,不是数字的字符也能输入。如何设置不是数字的就不能输入?

------解决方案--------------------
QRegExp ipRegExp = QRegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){4}");
    QRegExpValidator *ipRegExpValidator = new QRegExpValidator(ipRegExp, this);
    ipLineEdit->setValidator(ipRegExpValidator);
ipLineEdit->setInputMask("000.000.000.000; ");


这是IP的验证方法 你照着改下吧你呢个我没试过
------解决方案--------------------
lz 根据你的要求,我变相的实现啦下,思路就是:先让单元格输入任何字符,然后在判断!如果判断不是数字则把该单元格设置为:0!
在单元格 cellChanged()时处理判断;
代码如下:
C/C++ code
void MainWindow::on_tableWidget_cellChanged(int row, int column){    if(column == 1) return;    QTableWidgetItem* item = ui->tableWidget->item (row,column);    if(!item) return;    QString str = item->text ();    QRegExp rxs("^([1-9][0-9]*)$");    if(!rxs.exactMatch (str))    {        QMessageBox::about (this,tr("waring"),tr("please input diagtal"));        item->setText (QString("0"));    }}
  相关解决方案