文档详情

QT 滑动按钮的实现.doc

发布:2015-09-22约9.31千字共10页下载文档
文本预览下载声明
方法一: mouselabel.h #ifndef MOUSELABEL_H #define MOUSELABEL_H #include myslider.h class MySliderMenu; //为做设置界面里一个漂亮滑块而写的类。。。 class mouseLabel : public QLabel { friend class MySliderMenu; Q_OBJECT private: QString ImageBgPath; QString ImageSwPath; MySliderMenu *FocusLabel; bool releaseFlag; public: mouseLabel(QWidget *parent,MySliderMenu *focusLabel); void mousePressEvent(QMouseEvent *e); void mouseReleaseEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *ev); void setTwoImage(QString ImageBg,QString ImageSw); }; #endif // MOUSELABEL_H ---------------------------------------------------------------- myslider.h class mouseLabel; //为做设置界面里一个漂亮滑块而写的类。。。 class MySliderMenu :public QLabel { friend class mouseLabel; Q_OBJECT private: QPixmap PixmapBg; QPixmap PixmapSw; QLabel *ImageBgLabel; QLabel *ImageSwLabel; // QLabel *TextBgLabel; mouseLabel *TextSwLabel; int SliderId; int xPos; int yPos; int State; public: MySliderMenu(QWidget * parent,int x, int y, QString imageBgPath, QString imageSwPath,int nSliderID); void setPosition(int x,int y); void moveImageSw(int pos); void moveImageSwLittle(int pos); void mousePressEvent(QMouseEvent *e); void mouseReleaseEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *ev); int getSliderID(); int getState(); }; //extern MySliderMenu MySlider; #define MENU_ON 1 #define MENU_OFF 2 #endif // MYSLIDER_H ----------------------------------------------- mouselabel.cpp #include mouselabel.h #include myslider.h mouseLabel::mouseLabel(QWidget *parent,MySliderMenu *focusLabel):QLabel(parent) { FocusLabel = focusLabel; releaseFlag = true; } void mouseLabel::mousePressEvent(QMouseEvent *e) { } void mouseLabel::mouseReleaseEvent(QMouseEvent *e) { releaseFlag = true; if(FocusLabel-getState() == MENU_OFF) { FocusLabel-moveImageSw(MENU_OFF); }else {
显示全部
相似文档