Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用Qt设计器和visualstudio连接Qt信号和插槽_C++_Qt - Fatal编程技术网

C++ 如何使用Qt设计器和visualstudio连接Qt信号和插槽

C++ 如何使用Qt设计器和visualstudio连接Qt信号和插槽,c++,qt,C++,Qt,我正在使用Qt Designer设计我的应用程序,其中包含一个“加载文件”QPushButton(已升级为自定义loadfile.h)以及一个QOpenGLWidget(已升级为自定义OGLWidget.h) 我想要它,这样当我点击“加载文件”按钮时,它会向我的OGLWidget类中的一个插槽发送一个信号,该插槽会弹出一个对话框并加载文件 我首先进入Qt Designer中的信号/插槽编辑模式,并将按钮连接到openglwidget,其中clicked()作为信号和一个新添加的(从Qt Desi

我正在使用Qt Designer设计我的应用程序,其中包含一个“加载文件”
QPushButton
(已升级为自定义
loadfile.h
)以及一个QOpenGLWidget(已升级为自定义
OGLWidget.h

我想要它,这样当我点击“加载文件”按钮时,它会向我的
OGLWidget
类中的一个插槽发送一个信号,该插槽会弹出一个对话框并加载文件

我首先进入Qt Designer中的信号/插槽编辑模式,并将按钮连接到
openglwidget
,其中
clicked()
作为信号和一个新添加的(从Qt Designer内部)
populate\u mesh\u from\u obj()

然后我做了一个函数:

void OGLWidget::populate_mesh_from_obj()
{
    exit(0);
}
作为测试,在标题中输入:

public slots:
   void populate_mesh_from_obj();
现在在我的脑海里,我想:

  • Qt magic已经实现了信号
    clicked()
  • 插槽已由我实现
  • Qt Designer已将它们连接到某个地方

  • 所以对我来说这应该有效。知道为什么没有吗?

    您必须手动连接它们

    connect(ui->button, &QPushButton::clicked, yourGlPointer, &OGLWidget::populate_mesh_from_obj);