c++ - Qt 从 Mainwindow 字段中的 Mainwindow 获取 ui 参数

标签 c++ qt

像a一样用slot和signal连接就对了

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

如果我需要从 QMouseEvent 获取鼠标坐标,并且需要从 MainWindow 的一些 slider 获取参数。我在 Scene 中创建信号 GetSquareParameters,在 MainWindow 中创建 SendSliderParams 槽。 Scene 是 QGLWidget 的子类。

我认为这不是实现它的正确方法。 也许我可以在 Mainwindow 中以某种方式连接 QMouseEvent 只有当事件发生在 widget(Scene) 中并调用像 widget.AddElement( red, green, blue,.. .)。有没有不使用插槽和信号的另一种实现方式?

最佳答案

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

您可能应该以另一种方式进行操作,即在 slider 值发生变化时向场景发送信号。然后将值的成员变量添加到场景中。所以场景总是知道 slider 值,不需要询问它们。

关于c++ - Qt 从 Mainwindow 字段中的 Mainwindow 获取 ui 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22067726/

相关文章:

c++ - 编写音频源过滤器用作 Lync 麦克风

c++ - 有关运动的信息。 QT C++

python - 如何检测鼠标点击 pyside 绘制的椭圆?

c++ - 我可以始终使用 std::inserter(container, container.end()) 而不是 std::back_inserter(container) 吗?

c++ - 将变量传递给 PUGIXML xml_tree_walker

C++:循环在控制语句之后表现不同

c++ - 如何在Qt中绘制和编辑折线图

c++ - QSqlQuery:在执行前获取准备好的语句字符串

qt - 在 Ubuntu 13.04 和 QT-Creator 上设置 SFML

c++ - 无法在 clang Linux 中分配非静态成员函数,但在 Visual Studio Windows 中可以吗?