初始化
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
#ifndef MAPPINGCONFIGDIALOG_H
|
||||
#define MAPPINGCONFIGDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QTableWidget>
|
||||
#include <QPushButton>
|
||||
#include <QLineEdit>
|
||||
#include <QMap>
|
||||
#include <QTabWidget>
|
||||
#include <QLabel>
|
||||
|
||||
/**
|
||||
* @brief 映射配置对话框
|
||||
*
|
||||
* 用于配置:
|
||||
* 1. 学号 -> 真实姓名 的映射
|
||||
* 2. 班级编号 -> 真实班级名称 的映射
|
||||
*
|
||||
* 特性:
|
||||
* - 双击单元格可直接编辑(类似Excel)
|
||||
* - 自动从服务器加载已有映射
|
||||
* - 一键保存到服务器
|
||||
*/
|
||||
class MappingConfigDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MappingConfigDialog(QWidget *parent = nullptr);
|
||||
~MappingConfigDialog();
|
||||
|
||||
// 获取映射数据
|
||||
QMap<QString, QString> getStudentNameMap() const { return m_studentNameMap; }
|
||||
QMap<QString, QString> getClassNameMap() const { return m_classNameMap; }
|
||||
|
||||
// 设置映射数据(用于从服务器加载后更新)
|
||||
void setStudentNameMap(const QMap<QString, QString> &map);
|
||||
void setClassNameMap(const QMap<QString, QString> &map);
|
||||
|
||||
// 从表格收集数据到映射
|
||||
void collectDataFromTables();
|
||||
|
||||
// 设置状态文本
|
||||
void setStatus(const QString &status);
|
||||
|
||||
signals:
|
||||
void mappingChanged(); // 映射数据已修改,需要保存
|
||||
void requestSyncFromServer(); // 请求从服务器加载数据
|
||||
|
||||
private slots:
|
||||
void onAddStudent();
|
||||
void onDeleteStudent();
|
||||
void onAddClass();
|
||||
void onDeleteClass();
|
||||
void onSave();
|
||||
void onSyncToServer();
|
||||
void onSyncFromServer();
|
||||
|
||||
private:
|
||||
void setupUI();
|
||||
void updateStudentTable();
|
||||
void updateClassTable();
|
||||
|
||||
// UI组件
|
||||
QTabWidget *m_tabWidget;
|
||||
QLabel *m_statusLabel;
|
||||
|
||||
// 学号-姓名映射表
|
||||
QTableWidget *m_studentTable;
|
||||
QPushButton *m_addStudentBtn;
|
||||
QPushButton *m_deleteStudentBtn;
|
||||
|
||||
// 班级编号-名称映射表
|
||||
QTableWidget *m_classTable;
|
||||
QPushButton *m_addClassBtn;
|
||||
QPushButton *m_deleteClassBtn;
|
||||
|
||||
// 底部按钮
|
||||
QPushButton *m_syncFromServerBtn;
|
||||
QPushButton *m_syncToServerBtn;
|
||||
QPushButton *m_saveBtn;
|
||||
QPushButton *m_cancelBtn;
|
||||
|
||||
// 数据
|
||||
QMap<QString, QString> m_studentNameMap; // 学号 -> 姓名
|
||||
QMap<QString, QString> m_classNameMap; // 班级编号 -> 班级名称
|
||||
};
|
||||
|
||||
#endif // MAPPINGCONFIGDIALOG_H
|
||||
Reference in New Issue
Block a user