Qt QGraphicsView上的按钮不是';不可点击

Qt QGraphicsView上的按钮不是';不可点击,qt,qgraphicsview,qglwidget,Qt,Qgraphicsview,Qglwidget,我想用可点击按钮覆盖QGLWidget。 我正在使用QGraphicsView并将视口设置为QGLWidget。然后我将向QGraphicsView添加一个布局,并向其中添加几个QpushButton。 按钮显示正确,但不可单击 这是我的密码: QGraphicsView* view = ui->gView; QGLWidget* gl = new QGLWidget(QGLFormat(QGL::SampleBuffers)); view->setViewp

我想用可点击按钮覆盖QGLWidget。
我正在使用QGraphicsView并将视口设置为QGLWidget。然后我将向QGraphicsView添加一个布局,并向其中添加几个QpushButton。

按钮显示正确,但不可单击

这是我的密码:

    QGraphicsView* view = ui->gView;
    QGLWidget* gl = new QGLWidget(QGLFormat(QGL::SampleBuffers));
    view->setViewport(gl);

    QPushButton* push = new QPushButton("Click me");
    QHBoxLayout* h = new QHBoxLayout;
    QPushButton* wo = new QPushButton("Wo");
    h->addWidget(wo);
    h->addWidget(push);
    view->setLayout(h);

是否有一种简单的方法可以使按钮在鼠标位于其上方时获得点击,而QGLWidget在其他情况下获得点击?

请提供其他信息以及重现该问题的步骤。我只是把你的代码复制粘贴到空的Qt小部件应用程序模板中,按钮是可以点击的。我能够接收到他们的
clicked()
信号。如何检查按钮是否不可单击?好的,我将clicked()信号连接到一个插槽,它确实调用了它。但是,在单击过程中,该按钮实际上没有动画。如果我单击直接嵌入到centralWidget(而不是GraphicsView)中的按钮,它会在单击过程中变为蓝色,在释放时变为白色。而这个按钮在点击后并没有任何视觉效果。你是否只通过
QGLWidget
view->setViewport(gl)观察到这样的动画或动画始终不能与
QGraphicsView
一起工作,即使不更改默认视口?对我来说,动画总是像预期的那样工作,但是使用
QGLWidget
按钮有黑色边框。这个问题只发生在我使用view->setViewPort(gl)时,我想我已经解决了这个问题。我使用QtCreator添加QGraphicsView,然后通过编程在上面添加按钮。这一次,我以编程方式将所有内容添加到视图中,按钮的行为符合预期。非常感谢你的帮助。