与插槽和信号连接是正确的
connect( ui->widget, SIGNAL( GetSquareParameters( int &, int &,int &,int &)), this, SLOT( SendSliderParams( int &, int &,int &,int &) ) );
如果我需要从QMouseEvent
获取鼠标坐标,并且需要从MainWindow
的某些滑块获取参数。我在GetSquareParameters
的{{1}}和Scene
广告位中创建了信号SendSliderParams
。 Scene是MainWindow
的子类。
我认为没有正确的方法来实现它。
也许只有在小部件(场景)中发生事件并调用QGLWidget
之类的函数时,我才能在QMouseEvent
中以某种方式连接Mainwindow
。有另一种方法可以在不使用插槽和信号的情况下实现它吗?
答案 0 :(得分:1)
如果我理解你正在尝试做什么,那么使用信号和插槽肯定是错误的,因为它会完全打破排队连接。
您可能应该以相反的方式执行此操作,在滑块值更改时将信号发送到场景。然后将值的成员变量添加到场景中。所以场景总是知道滑块值,不需要问它们。