这篇文章主要介绍了QT自定义之滑动开关的实现方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有越秀免费网站建设让你可以放心的选择与我们合作。写了一个简单的滑动开关, 不多说,上图:
代码如下:
#ifndef SLIDERBUTTON_H #define SLIDERBUTTON_H #include#include #include #include #include #include #include #include #include namespace Ui { class SliderButton; } class SliderButton : public QWidget { Q_OBJECT public: explicit SliderButton(QWidget *parent = nullptr); ~SliderButton(); void set_button_size(const int &w, const int &h); void set_button_color(const QColor & , const QColor & ,const QColor & ); signals: void signal_button_on(); void signal_button_off(); protected: virtual void mousePressEvent(QMouseEvent *event); virtual void paintEvent(QPaintEvent *event); public slots: void slot_update(); private: bool m_button_status; int m_circle_width; int m_button_pos; int m_move_distance; QColor m_backcolor_on; QColor m_backcolor_off; QColor m_circle_color; QTimer *m_timer; }; #endif // SLIDERBUTTON_H