#ifndef PAGINGWIDGET_H #define PAGINGWIDGET_H #include namespace Ui { class PagingWidget; } class PagingWidget : public QWidget { Q_OBJECT signals: void pageChanged(int nPage); public: explicit PagingWidget(QWidget *parent = nullptr); ~PagingWidget(); void setMaxPageSize(int nMaxSize); void setUI(const int nX, const int nY); private slots: void on_btn_previous_clicked(); void on_btn_page1_clicked(); void on_btn_page2_clicked(); void on_btn_page3_clicked(); void on_btn_page4_clicked(); void on_btn_page5_clicked(); void on_btn_page6_clicked(); void on_btn_page7_clicked(); void on_btn_next_clicked(); private: Ui::PagingWidget *ui; const int m_nLimitPage = 7; int m_nMaxPageSize; int m_nCurrentPage; void initPageCtrl(const int nCurPage); void initPages(const int nMaxSize); void setCurPage(const int nCurPage); }; #endif // PAGINGWIDGET_H