#ifndef QTMATERIALTABWIDGET_H #define QTMATERIALTABWIDGET_H #include #include "qtmaterial_global.h" QT_BEGIN_NAMESPACE class QStackedWidget; QT_END_NAMESPACE class QtMaterialTabs; class QT_MATERIAL_EXPORT QtMaterialTabWidget : public QWidget { Q_OBJECT Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex) Q_PROPERTY(QString pageTitle READ pageTitle WRITE setPageTitle STORED false) public: explicit QtMaterialTabWidget(QWidget *parent = nullptr); QSize sizeHint() const override; int count() const; int currentIndex() const; QWidget *widget(int index); QString pageTitle() const; public slots: void addPage(QWidget *page); void insertPage(int index, QWidget *page); void removePage(int index); void setPageTitle(QString const &newTitle); void setCurrentIndex(int index); private slots: void pageWindowTitleChanged(); signals: void currentIndexChanged(int index); void pageTitleChanged(const QString &title); private: QtMaterialTabs *tabBar; QStackedWidget *stackWidget; }; #endif // QTMATERIALTABWIDGET_H