main_window.cpp
构造函数内部添加:
QObject::connect(this, SIGNAL(valchang(int)), this, SLOT(setval(int )));
项目源码地址:
https://code.ihub.org.cn/projects/465/repository/qt-ros-learn
环境配置教程:
https://blog.csdn.net/CAIYUNFREEDOM/article/details/99831225
添加函数
void MainWindow:: setval(int c)
{
std::cout<<"int setval:c="<<c<<std::endl;
}
main_window.hpp
class MainWindow : public QMainWindow {
Q_OBJECT
// Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged DESIGNABLE true)
public:
MainWindow(int argc, char** argv, QWidget *parent = 0);
~MainWindow();
void ReadSettings(); // Load up qt program settings at startup
void WriteSettings(); // Save qt program settings when closing
void closeEvent(QCloseEvent *event); // Overloaded function
void showNoMasterMessage();
public Q_SLOTS:
/******************************************
** Auto-connections (connectSlotsByName())
*******************************************/
void on_actionAbout_triggered();
void on_button_connect_clicked(bool check );
void on_checkbox_use_environment_stateChanged(int state);
/******************************************
** Manual connections
*******************************************/
void updateLoggingView(); // no idea why this can't connect automatically
void on_btnstart_clicked();
void setval(int c);
void on_btnstop_clicked();
Q_SIGNALS:
void valchang(int);
private:
Ui::MainWindowDesign ui;
QNode qnode;
};
发送信号:
Q_EMIT valchang(34);