⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sidemenu.h

📁 爱可视605看PDF程式源代码, 基于APDF
💻 H
字号:
#ifndef SIDEMENU_H#define SIDEMENU_H#include <qpixmap.h>#include <qtimer.h>#include <qwidget.h>class SideMenuEntry;class SideMenuLabels;class SideMenu : public QWidget {	Q_OBJECT public:	SideMenu(int itemcnt, QWidget *parent= NULL, const char *name= NULL);	~SideMenu();		void setEntry(int index, int visible, int id, const QString &label, const QString &icon_name);	void setEntryVisible(int index, bool visible);	void setSelection(int index);	virtual QSize sizeHint() const;	void strobeHideTimer(); signals:	void entryActivated(int id);	void hideOn(); public slots:	virtual void polish();	virtual void hide();	virtual void hideLabels();	virtual void showMenuAndLabels(); protected:	virtual bool eventFilter(QObject *obj, QEvent *evt);	virtual void paintEvent(QPaintEvent *evt);	virtual void showEvent(QShowEvent *evt);	virtual void hideEvent(QHideEvent *evt);	virtual void mousePressEvent(QMouseEvent * e);	virtual void mouseReleaseEvent(QMouseEvent *e);	virtual void mouseMoveEvent(QMouseEvent *e); private:	friend class SideMenuLabels;	SideMenuEntry *m_entries;	SideMenuLabels *m_labels;	int m_cnt, m_selpos, m_visible_entries;	QTimer m_hideTimer;	QPixmap menu_key_icon;	QPixmap m_label_mask;	static int timeoutInterval;	bool m_trigger;	int  visibleEntries() const;	int  posToVisiblePos(int pos) const;	int  visiblePosToPos(int vpos) const;	void paintButtons(QPainter *p);	void paintButtonsMask(QPainter *p);	bool keyIconArea(int y);	void selectLastEntry();	inline int yOffset() 	{		return height() - sizeHint().height() - 1;	}};class SideMenuLabels : public QWidget {	Q_OBJECT public:	SideMenuLabels(SideMenu *menu);	void  setSelection(int pos);	void  updateMask();	virtual QSize sizeHint() const; public slots:	virtual void polish(); protected:	virtual void showEvent(QShowEvent *evt);	virtual void paintEvent(QPaintEvent *evt);	virtual void mousePressEvent(QMouseEvent * e);	virtual void mouseReleaseEvent(QMouseEvent *e);	virtual void mouseMoveEvent(QMouseEvent *e);	virtual bool event(QEvent* e); private:	SideMenuEntry *m_entries;	SideMenu *m_menu;	int m_selpos;	bool m_trigger;	QRect selectionArea() const;	void  drawLabels(QPainter *p) const;	int lineHeight() const;};#endif // SIDEMENU_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -