compareitemlistdialog.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef COMPAREITEMLISTDIALOG_H
  2. #define COMPAREITEMLISTDIALOG_H
  3. #include <QStandardItemModel>
  4. #include <QSortFilterProxyModel>
  5. #include "DialogBase.h"
  6. #include "GlobalVariable.h"
  7. /**
  8. * @brief 自定义排序类
  9. *
  10. */
  11. class CSortModel : public QSortFilterProxyModel
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit CSortModel(QObject *parent = nullptr) : QSortFilterProxyModel(parent) {}
  16. ~CSortModel() {}
  17. protected:
  18. /* 重载比较函数 */
  19. bool lessThan(const QModelIndex &left, const QModelIndex &right) const override;
  20. };
  21. namespace Ui {
  22. class CompareItemListWidget;
  23. }
  24. class CompareItemListDialog : public DialogBase
  25. {
  26. Q_OBJECT
  27. public:
  28. explicit CompareItemListDialog(QWidget *parent = nullptr);
  29. ~CompareItemListDialog() override;
  30. private slots:
  31. /* 点击了关闭按钮 */
  32. void do_pBtn_close_Clicked();
  33. /* 点击了添加按钮 */
  34. void do_pBtn_add_Clicked();
  35. /* 点击了删除按钮 */
  36. void do_pBtn_delete_Clicked();
  37. /* 点击了编辑按钮 */
  38. void do_pBtn_edit_Clicked();
  39. private:
  40. /* 初始化表格 */
  41. void initTable();
  42. /* 添加一行 */
  43. void addRow(CompareItemTableItem_t item);
  44. private:
  45. Ui::CompareItemListWidget *ui;
  46. QStandardItemModel* m_model; /* 表格模型,存储数据 */
  47. CSortModel* m_sortModel; /* 排序模型 */
  48. };
  49. #endif // COMPAREITEMLISTDIALOG_H