C++ Qt c++;信号插槽工作不正常
我的代码有一个奇怪的行为: 我想设置一个信号插槽连接。当我没有任何参数时,它工作正常。但当我使用参数时,即使是像int这样简单的参数,我的连接也不起作用有人知道为什么会这样吗? 多谢各位 这项工作: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
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)