FemaLocalSoftware/paginationbar.h
Lopata PC 9e459078e1 SensorTab all Done
paginationBar Done
2024-12-16 11:38:04 +03:00

43 lines
1.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef PAGINATIONBAR_H
#define PAGINATIONBAR_H
#include <QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QHBoxLayout>
class PaginationBar : public QWidget {
Q_OBJECT
public:
explicit PaginationBar(int totalPages, QWidget *parent = nullptr);
signals:
void pageChanged(int page);
private slots:
void onPageButtonClicked(int page);
void goToPreviousPage();
void goToNextPage();
void onEllipsisClicked(QPushButton *ellipsisButton);
private:
QLineEdit *activeLineEdit = nullptr;
QPushButton *previousEllipsisButton = nullptr;
private:
int totalPages; // Общее количество страниц
int currentPage; // Текущая страница
QPushButton *leftArrow; // Кнопка влево
QPushButton *rightArrow; // Кнопка вправо
QHBoxLayout *layout; // Макет для размещения кнопок
QList<QPushButton *> pageButtons; // Список кнопок страниц
void updateButtons(); // Обновление кнопок в зависимости от состояния
void addPageButton(int page); // Добавить кнопку страницы
void addEllipsisButton(); // Добавить кнопку с троеточием
};
#endif // PAGINATIONBAR_H