Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.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 c++;信号插槽工作不正常_C++_Qt_Signals Slots - Fatal编程技术网

C++ Qt c++;信号插槽工作不正常

C++ Qt c++;信号插槽工作不正常,c++,qt,signals-slots,C++,Qt,Signals Slots,我的代码有一个奇怪的行为: 我想设置一个信号插槽连接。当我没有任何参数时,它工作正常。但当我使用参数时,即使是像int这样简单的参数,我的连接也不起作用有人知道为什么会这样吗? 多谢各位 这项工作: Chart.h void signalForUI(); Chart.cpp emit signalForUI(); Userinterface.h public slots: void UI_schreibtWas(); Userinter

我的代码有一个奇怪的行为:

我想设置一个信号插槽连接。当我没有任何参数时,它工作正常。但当我使用参数时,即使是像int这样简单的参数,我的连接也不起作用有人知道为什么会这样吗?

多谢各位

这项工作:

Chart.h       
  void signalForUI();

Chart.cpp
    emit signalForUI();

Userinterface.h   
    public slots:
      void UI_schreibtWas();

 Userinterface.cpp   

     connect(  ui.Diagram  , SIGNAL( signalForUI()  ),
               this  ,SLOT (UI_schreibtWas()))  ;
  ...

       void UserInterface::UI_schreibtWas()
       {  qDebug() << "ich schreibe was- ohne ";    }
Chart.h
void signalForUI();
Chart.cpp
emit signalForUI();
Userinterface.h
公众时段:
void UI_schreibtWas();
Userinterface.cpp
连接(ui.Diagram,信号(signalForUI()),
这个插槽(UI_schreibtWas());
...
void UserInterface::UI_schreibtWas()

{qDebug()不应该将参数名传递到
连接的信号/插槽定义中

connect(ui.Diagram, SIGNAL(signalForUI(const int&)),
        this, SLOT(UI_schreibtWas(const int&)));
但是对于connect,您应该使用Qt 5语法,它不使用宏,并允许您在编译时捕获此类错误:

connect(ui.Diagram, &DiagramClass::signalForUI, this, &ThisClass::UI_schreibtWas)

用适当的类名替换
DiagramClass
ThisClass

去掉连接中的
X_send
。只需使用参数类型。因此将
connect(ui.Diagram,SIGNAL(signalForUI(const int&X_send)),这个插槽(ui_schreibtWas(const int&X_send))
转换为
connect(ui.图,信号(signalForUI(常量int&)),此,插槽(ui_schreibtWas(常量int&);
connect(ui.Diagram, &DiagramClass::signalForUI, this, &ThisClass::UI_schreibtWas)