GridFrame/diagramCavas/source/baseContentDlg.cpp

69 lines
1.8 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "baseContentDlg.h"
#include <QScrollArea>
#include <QFormLayout>
#include <QLabel>
#include <QSpinBox>
#include <QLineEdit>
#include <QDateEdit>
BaseContentDlg::BaseContentDlg(QWidget *parent)
: QDialog(parent)
,_curModelController(nullptr)
{
setWindowFlags(Qt::Widget);
//this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
}
BaseContentDlg::~BaseContentDlg()
{
}
QFormLayout* BaseContentDlg::createFormLayout(QWidget* parent)
{
QFormLayout* layout = new QFormLayout(parent);
layout->setHorizontalSpacing(20); // 标签与控件间距
layout->setVerticalSpacing(12); // 行间距
layout->setLabelAlignment(Qt::AlignRight); // 标签右对齐
layout->setContentsMargins(12, 12, 12, 12); // 内边距
return layout;
}
QJsonObject BaseContentDlg::parseCTWindingDefaultValue(const QVariant &value)
{
// 情况 1已经是 QJsonObject ✅
if (value.canConvert<QJsonObject>())
{
return value.value<QJsonObject>();
}
// 情况 2QVariantMapQt 常见中间态)
if (value.canConvert<QVariantMap>())
{
return QJsonObject::fromVariantMap(value.toMap());
}
// 情况 3数据库来的 QStringJSON 文本)
if (value.typeId() == QMetaType::QString)
{
QString jsonStr = value.toString().trimmed();
if (jsonStr.isEmpty())
return {};
QJsonParseError err;
QJsonDocument doc = QJsonDocument::fromJson(jsonStr.toUtf8(), &err);
if (err.error != QJsonParseError::NoError)
{
qWarning() << "CTWinding JSON parse error:" << err.errorString();
return {};
}
return doc.object();
}
// 其他情况
qWarning() << "Unsupported CTWinding defaultValue type:"
<< value.typeName();
return {};
}