GridFrame/diagramCavas/source/baseContentDlg.cpp

69 lines
1.8 KiB
C++
Raw Normal View History

2026-03-23 11:11:55 +08:00
#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;
}
2026-06-11 14:05:41 +08:00
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 {};
}