QT程序设计:扩展Qt控件方法
扩展Qt控件: Qt自带控件,一般无法满足一些自定义的操作。例如QGraphicsView,原生的无法响应鼠标滚轮事件实线缩放,同样也无法通过鼠标右键拖拽。相应的可以通过鼠标滚轮响应滚动条滚动。此处可以通过扩展原生的QGraphicsView控件实现上述功能,并屏蔽掉鼠标滚轮操作滚动条滚动。类似的控件还有,QListView,实现点击元素,可以发出信号响应对应的槽。 扩展方法: 步骤一:需要编写自己的控件类继承自Qt原生的控件类,例如: class MyGraphicsView : public QGraphicsView { Q_OBJECT public : explicit MyGraphicsView ( QWidget * parent = 0 ); virtual ~ MyGraphicsView (); public : protected : virtual void mousePressEvent ( QMouseEvent * event ); virtual void mouseMoveEvent ( QMouseEvent * event ); virtual void mouseReleaseEvent ( QMouseEvent * event ); virtual void wheelEvent ( QWheelEvent * event ); }