diff --git a/source/attributeTableModel.cpp b/source/attributeTableModel.cpp index db906ae..a43c31e 100644 --- a/source/attributeTableModel.cpp +++ b/source/attributeTableModel.cpp @@ -176,13 +176,16 @@ int AttributeTableModel::rowCount(const QModelIndex& parent) const return m_currentPageData.count(); } -int AttributeTableModel::columnCount(const QModelIndex &) const +int AttributeTableModel::columnCount(const QModelIndex& parent) const { return m_displayField.isEmpty() ? 0 : m_displayField.count() + 1; } Qt::ItemFlags AttributeTableModel::flags(const QModelIndex &index) const { + if(!index.isValid()) + return Qt::NoItemFlags; + Qt::ItemFlags flags = QAbstractTableModel::flags(index); QModelIndex numberIndex = createIndex(index.row(), 0); QString text = numberIndex.data(Qt::DisplayRole).toString(); diff --git a/source/dbManager.cpp b/source/dbManager.cpp index 3b0ca9c..1ad533b 100644 --- a/source/dbManager.cpp +++ b/source/dbManager.cpp @@ -97,7 +97,7 @@ bool DatabaseManager::connect(const QString& strConnectionName) QString::fromWCharArray(L"没有找到该链接的配置信息"), QSqlError::ConnectionError); emit errorOccurred(strConnectionName, error.databaseText()); - LOG_ERROR("DB", QString("Connection failed: %1 due 2%").arg(strConnectionName).arg("no configuration information")); + LOG_ERROR("DB", QString("Connection failed: %1 due to 2%").arg(strConnectionName, "no configuration information")); return false; } @@ -113,10 +113,10 @@ bool DatabaseManager::connect(const QString& strConnectionName) if(!db.open()) { QString errorText = db.lastError().databaseText(); + // QString transText = QString::fromUtf8(errorText.toLocal8Bit().constData()); + // qDebug() << transText; LOG_ERROR("DB", QString("DB: %1 open failed. connectionName: %2. error: %3") - .arg(config.strDBName) - .arg(strConnectionName) - .arg(errorText/*QString::fromUtf8(errorText.toUtf8())*/)); + .arg(config.strDBName, strConnectionName, errorText)); emit errorOccurred(strConnectionName, QString::fromWCharArray(L"数据库打开失败,详情可见日志文件")); db.close(); db = QSqlDatabase();//重置为无效数据库对象,在下面remove的时候就不会出现"connection '***' is still in use, all queries will cease to work"的警告 diff --git a/source/modelInfoEditDialog.cpp b/source/modelInfoEditDialog.cpp index 1f12e2e..be3c442 100644 --- a/source/modelInfoEditDialog.cpp +++ b/source/modelInfoEditDialog.cpp @@ -113,8 +113,9 @@ void ModelInfoEditDialog::initialize() m_curModelID = -1; ui->btnAddGroup->setVisible(false); m_pMaskLayer = new MaskLayer(this); - //正则表达式,只能输入字母 - QRegularExpression regExp("[A-Za-z0-9_]+"); + //正则表达式,只能输入字母,且第一个字符不能是数字 + //QRegularExpression regExp("[A-Za-z0-9_]+"); + QRegularExpression regExp("^[A-Za-z_][A-Za-z0-9_]*$"); QRegularExpressionValidator* validator = new QRegularExpressionValidator(regExp, this); ui->lineEdit_modelType->setValidator(validator); diff --git a/ui/modelInfoEditDialog.ui b/ui/modelInfoEditDialog.ui index 5ce4528..face588 100644 --- a/ui/modelInfoEditDialog.ui +++ b/ui/modelInfoEditDialog.ui @@ -311,11 +311,14 @@ QPushButton:pressed 0 + + *类别必须为英文,且首字符不能为数字 + color: rgb(255, 0, 0); - *类别必须为英文 + *类别必须为英文... Qt::AlignmentFlag::AlignCenter