📄 slider.h
字号:
#ifndef SLIDER_H#define SLIDER_H#include <qpixmap.h>#include <qwidget.h>#include <qrect.h>#include <qsize.h>#include <qtimer.h>#include <qpoint.h>#include <archos/screen.h>class SpeedUpTimer : public QTimer { Q_OBJECT public: SpeedUpTimer(QObject *parent = 0); void setIntervals(int startInterval, int finalInterval); void start(); void stop(); private slots: void decreaseInterval(); private: int m_startInterval, m_finalInterval, m_currentInterval;};class Slider : public QWidget { Q_OBJECT public: Slider(int width, QWidget *parent = 0, const char *name = 0); int getValue(); void setValues(int x, int y); void reset(); virtual QSize sizeHint() const; signals: void valueChanged(int); protected: virtual void paintEvent(QPaintEvent *evt); virtual void keyPressEvent(QKeyEvent *e); virtual void keyReleaseEvent(QKeyEvent *e); virtual void mouseMoveEvent(QMouseEvent *e); virtual void mousePressEvent(QMouseEvent *e); virtual void mouseReleaseEvent(QMouseEvent *e); private slots: void updateValue(); private: void incValue(); void decValue(); void incValueBy10(); void decValueBy10(); QRect leftArrowRect(); QRect rightArrowRect(); QRect sliderRect(); int sliderPosToValue(int x); void setupBitmaps(); int m_x, m_y; static QPixmap *s_larrow, *s_rarrow, *s_empty_left, *s_empty_center, *s_empty_right, *s_cursor, *s_center; int m_sliderLength, m_sliderLastStep; QPoint m_leftArrowPos, m_rightArrowPos, m_sliderStartPos; bool m_cursorSnapped; SpeedUpTimer kbd_timer, mouse_timer; enum { left = 0, right } m_direction; int m_stepSize; static archos::ScreenMode s_mode; static QString s_widthTemplate;};#endif // SLIDER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -