106 lines
2.4 KiB
C++
106 lines
2.4 KiB
C++
#ifndef MYGROUPWIDGET_H
|
|
#define MYGROUPWIDGET_H
|
|
#include <QWidget>
|
|
#include <QTextEdit>
|
|
#include <QMap>
|
|
#include <QScopedPointer>
|
|
#include <QJsonObject>
|
|
#include <QScrollArea>
|
|
#include <QHBoxLayout>
|
|
#include <QLabel>
|
|
#include <QTextEdit>
|
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
class ExtendedGroupBox;
|
|
/// <summary>
|
|
/// 自定义标签输入框
|
|
/// </summary>
|
|
class DateStateLabel : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit DateStateLabel(QWidget* parent = nullptr);
|
|
~DateStateLabel();
|
|
void initwidget(const QString name, bool ReadOnly = true);
|
|
private:
|
|
QScopedPointer<QLabel> label_ptr;
|
|
QScopedPointer<QTextEdit> text_ptr;
|
|
QString m_name = "";
|
|
QString m_value = "";
|
|
public:
|
|
QString get_value();
|
|
QString get_name();
|
|
signals:
|
|
void ValueChanged(const QString text);
|
|
public slots:
|
|
void GetshowMag(const QString msg);
|
|
|
|
};
|
|
|
|
// 数据展示
|
|
class DateSheetWidget :public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
explicit DateSheetWidget(QWidget* parent = nullptr);
|
|
~DateSheetWidget();
|
|
void initwidget(QJsonArray& tablelist, bool ReadOnly = true);
|
|
QJsonArray GetData();
|
|
|
|
private:
|
|
QMap<QString, DateStateLabel*> m_labMap;
|
|
QScopedPointer<QWidget> widget_ptr;
|
|
public slots:
|
|
void On_reciveData(QString key, QString msg); // 传递数据
|
|
protected:
|
|
void mouseMoveEvent(QMouseEvent* event)override;
|
|
};
|
|
|
|
/// <summary>
|
|
/// 自定义Group嵌套组件
|
|
/// </summary>
|
|
class MyGroupWidget :public QWidget {
|
|
|
|
Q_OBJECT
|
|
public:
|
|
|
|
explicit MyGroupWidget(QWidget* parent = nullptr);
|
|
~MyGroupWidget();
|
|
void initwidget(QJsonArray& pramjson);
|
|
private:
|
|
QMap<QString, ExtendedGroupBox*> groupBoxlist; // 参数
|
|
QMap<QString, DateSheetWidget*> DateSheetlist;
|
|
public:
|
|
QJsonObject GetDataMap();
|
|
|
|
};
|
|
|
|
class MyParamSet : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit MyParamSet(QWidget* parent = nullptr);
|
|
~MyParamSet();
|
|
void initwidget();
|
|
private:
|
|
|
|
QScopedPointer<QHBoxLayout> gridPtr;
|
|
QHBoxLayout* mainWidgetLayout = nullptr;
|
|
|
|
QScrollArea* m_ScrollArea;
|
|
|
|
QMap<QString, MyGroupWidget*> m_groupBoxlist;
|
|
|
|
QMap<QString, ExtendedGroupBox*> m_labMap;
|
|
protected:
|
|
void fromJson2TXT(QJsonObject&obj);
|
|
|
|
public:
|
|
void SaveParData(const QString path);
|
|
void UpParData(const QString path);
|
|
|
|
protected:
|
|
void mouseMoveEvent(QMouseEvent* event)override;
|
|
void resizeEvent(QResizeEvent* event)override;
|
|
};
|
|
#endif |