PagingWidget.h 974 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef PAGINGWIDGET_H
  2. #define PAGINGWIDGET_H
  3. #include <QWidget>
  4. namespace Ui {
  5. class PagingWidget;
  6. }
  7. class PagingWidget : public QWidget
  8. {
  9. Q_OBJECT
  10. signals:
  11. void pageChanged(int nPage);
  12. public:
  13. explicit PagingWidget(QWidget *parent = nullptr);
  14. ~PagingWidget();
  15. void setMaxPageSize(int nMaxSize);
  16. void setUI(const int nX, const int nY);
  17. private slots:
  18. void on_btn_previous_clicked();
  19. void on_btn_page1_clicked();
  20. void on_btn_page2_clicked();
  21. void on_btn_page3_clicked();
  22. void on_btn_page4_clicked();
  23. void on_btn_page5_clicked();
  24. void on_btn_page6_clicked();
  25. void on_btn_page7_clicked();
  26. void on_btn_next_clicked();
  27. private:
  28. Ui::PagingWidget *ui;
  29. const int m_nLimitPage = 7;
  30. int m_nMaxPageSize;
  31. int m_nCurrentPage;
  32. void initPageCtrl(const int nCurPage);
  33. void initPages(const int nMaxSize);
  34. void setCurPage(const int nCurPage);
  35. };
  36. #endif // PAGINGWIDGET_H