1*4882a593Smuzhiyun #ifndef ROLLSWITCHWIDGET_H 2*4882a593Smuzhiyun #define ROLLSWITCHWIDGET_H 3*4882a593Smuzhiyun #include <QWidget> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun class RollSwitchWidget : public QWidget 6*4882a593Smuzhiyun { 7*4882a593Smuzhiyun Q_OBJECT 8*4882a593Smuzhiyun public: 9*4882a593Smuzhiyun explicit RollSwitchWidget(QWidget *parent = nullptr); 10*4882a593Smuzhiyun void setCount(int count); 11*4882a593Smuzhiyun int currentIndex(); 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun Q_SIGNALS: 14*4882a593Smuzhiyun void indexChange(int index); 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun protected: 17*4882a593Smuzhiyun void paintEvent(QPaintEvent *e) override; 18*4882a593Smuzhiyun void mousePressEvent(QMouseEvent*e) override; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun private: 21*4882a593Smuzhiyun QPointF getPoint(const QRect &rect, int angle); 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun private: 24*4882a593Smuzhiyun QString m_text; 25*4882a593Smuzhiyun QRect m_leftRect; 26*4882a593Smuzhiyun QRect m_rightRect; 27*4882a593Smuzhiyun int m_index; 28*4882a593Smuzhiyun int m_count; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif // ROLLSWITCHWIDGET_H 32