| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef PAGINATION_H
- #define PAGINATION_H
- #include <QWidget>
- class Pagination : public QWidget
- {
- Q_OBJECT
- public:
- enum Layout { TOTAL = 1, PREV = 2, PAGER = 4, NEXT = 8 };
- explicit Pagination(QWidget* parent = nullptr);
- explicit Pagination(int total, int pageSize, QWidget* parent = nullptr);
- ~Pagination();
- // 设置当前页
- int currentPage() const;
- void setCurrentPage(int page);
- QString prevText() const;
- void setPrevText(const QString& text);
- QString nextText() const;
- void setNextText(const QString& text);
- Layout layout() const;
- void setLayout(Layout layout);
- int spacing() const;
- void setSpacing(int spacing);
- // 设置最大页码按钮数 页码按钮的数量,当总页数超过该值时会折叠
- int pagerCount() const;
- void setPagerCount(int count);
- // 每页显示个数选择器的选项设置
- int pageSizes() const;
- void setPageSizes(int count);
- int total() const;
- void setTotal(int count);
- Q_SIGNALS:
- void valueChanged(int value);
- protected:
- QSize sizeHint() const override;
- QSize minimumSizeHint() const override;
- void paintEvent(QPaintEvent* event) override;
- void mouseMoveEvent(QMouseEvent* event) override;
- void mousePressEvent(QMouseEvent* event) override;
- void leaveEvent(QEvent* event) override;
- private:
- class PaginationPrivate* d;
- };
- #endif // PAGINATION_H
|