2014-02-27 328 views
1

这是正确的,以与槽连接和信号像Qt的获取从主窗口UI参数在主窗口场

connect(ui->widget, SIGNAL(GetSquareParameters(int &, int &,int &,int &)), this, SLOT(SendSliderParams(int &, int &,int &,int &))); 

如果我需要从QMouseEvent获取鼠标COORDS并需要从MainWindow的一些滑块得到的参数。我在MainWindowSceneSendSliderParams插槽中创建信号GetSquareParameters。场景是QGLWidget的子类。

我认为这是不正确的方式来实现。 也许我可以连接QMouseEventQMouseEventMainwindow只有当事件发生在小部件(场景)和呼叫功能,如widget.AddElement(red, green, blue,...)。有另一种方式来实现,而不使用插槽和信号?

+0

你能解释一下你想要做什么吗?从你的问题来看,这不是很清楚..谢谢你 –

回答

1

如果我正确理解你正在尝试做什么,那么使用信号和插槽的方式肯定看起来是错误的,因为它将完全中断排队连接。

您应该换一种方式,当滑块值发生变化时向场景发送信号。然后将值的成员变量添加到场景中。所以场景总是知道滑块的值,并且不需要询问它们。