compareitemlistdialog.h 1.3 KB

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