#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include #include struct Student { QString name; QString gender; int age; QString id; QString phone; }; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: // 班级管理 void showTreeMenu(const QPoint &pos); void addClass(); void deleteClass(); void renameClass(); void onClassClicked(QTreeWidgetItem *item); // 学生管理 void addStudent(); void deleteStudent(); // void updateStudent(); // void searchStudent(); void tableItemClicked(int row, int column); // 文件操作 与 分页 // void importData(); // void saveData(); // void refreshAll(); // void prevPage(); // void nextPage(); private: void setupUI(); void refreshTable(); // void saveClassToFile(const QString &className); QString currentClass() const; private: // 顶部菜单栏 QMenu *fileMenu; QMenu *editMenu; // 左侧班级树控件 QTreeWidget *tree; // 中间学生表格控件 QTableWidget *table; QLineEdit *nameEdit; QLineEdit *genderEdit; QLineEdit *ageEdit; QLineEdit *idEdit; QLineEdit *phoneEdit; QPushButton *addBtn; QPushButton *delBtn; // 班级数据存储 QMap> classData; }; #endif // MAINWINDOW_H