无法在图形场景上操作QWidget

时间:2018-08-03 14:20:17

标签: c++ qt qgraphicsscene

我正在尝试在QGraphicsscene上使用QWidget,并使小部件中的工具按钮起作用。但是他们对点击没有反应。我也有样式表,当您将鼠标悬停在工具按钮上时会更改颜色,但是鼠标悬停在小部件上不起作用。我希望能够使用小部件上的工具按钮以及跟踪图形场景上的鼠标事件。

QWidget *zoomWidget= new QWidget();
QToolButton *zoomInButton=new QToolButton();
zoomInButton->setStyleSheet("QToolButton:hover{ background:green; border-radius:7px; border:1px solid green;}QToolButton:!hover{ background:yellow; border-radius:7px; border:1px solid yellow;}");
zoomWidget->setStyleSheet("background-color: rgba(0,0,0,0)");
zoomWidget->setLayout(new QHBoxLayout(zoomWidget));
zoomWidget->layout()->addWidget(zoomInButton);
zoomWidget->layout()->addWidget(zoomOutButton);
zoomWidget->layout()->setSizeConstraint(QLayout::SetFixedSize);
QGraphicsProxyWidget *proxyWidget= addWidget(zoomWidget);
proxyWidget->setPos(800,20);
proxyWidget->setZValue(1000); 
connect(zoomInButton,SIGNAL(clicked()),this,SLOT(zoomIn()));
void GraphicsScene::zoomIn()
{
  QMessageBox::information(0,"hello","zoomIn clicked");
}

以上代码是在QGraphicsScene Inherited类内部编写的。

0 个答案:

没有答案