Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QChartView、橡皮键和鼠标右键行为_C++_Qt_Qtcharts - Fatal编程技术网

C++ QChartView、橡皮键和鼠标右键行为

C++ QChartView、橡皮键和鼠标右键行为,c++,qt,qtcharts,C++,Qt,Qtcharts,我有一个类,派生自QChartView,我在其中启用了橡皮筋选择 MyChartView::MyChartView(QChart* chart) :QChartView(chart) { setMouseTracking(true); setInteractive(true); setRubberBand(RectangleRubberBand); } Qt文档说 如果松开鼠标左键并启用橡皮筋,则接受事件并将视图放大到橡皮筋指定的矩形。如果是鼠标右键事件,则视图将缩小

我有一个类,派生自
QChartView
,我在其中启用了橡皮筋选择

MyChartView::MyChartView(QChart* chart)
:QChartView(chart)
{
    setMouseTracking(true);
    setInteractive(true);
    setRubberBand(RectangleRubberBand);
}
Qt文档说

如果松开鼠标左键并启用橡皮筋,则接受事件并将视图放大到橡皮筋指定的矩形。如果是鼠标右键事件,则视图将缩小

我不想让右键缩小。我试图覆盖
mouseReleaseEvent

void MyChartView::mouseReleaseEvent(QMouseEvent *e)
{
    if(e->buttons() == Qt::RightButton)
    {
        std::cout << "my overriden event" << std::endl;
        return; //event doesn't go further
    }
    QChartView::mouseReleaseEvent(e);//any other event
}
void MyChartView::mouseReleaseEvent(QMouseEvent*e)
{
如果(e->buttons()==Qt::RightButton)
{

std::cout问题解决方案非常简单。我刚刚混合了
按钮()
按钮()
函数。以下代码正常工作:

void MyChartView::mouseReleaseEvent(QMouseEvent *e)
{
    if(e->button() == Qt::RightButton)
    {
        std::cout << "my overriden event" << std::endl;
        return; //event doesn't go further
    }
    QChartView::mouseReleaseEvent(e);//any other event
}
void MyChartView::mouseReleaseEvent(QMouseEvent*e)
{
如果(e->button()==Qt::RightButton)
{
标准::cout