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