slider.h

来自「爱可视605看PDF程式源代码, 基于APDF」· C头文件 代码 · 共 78 行

H
78
字号
#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 + =
减小字号Ctrl + -
显示快捷键?