2014-02-27 76 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

如果我正確理解你正在嘗試做什麼,那麼使用信號和插槽的方式肯定看起來是錯誤的,因爲它將完全中斷排隊連接。

您應該換一種方式,當滑塊值發生變化時向場景發送信號。然後將值的成員變量添加到場景中。所以場景總是知道滑塊的值,並且不需要詢問它們。