不同窗口之间的信号槽,由一个窗口emit signal 然后在另一个窗口中用connect 响应。
editnetconfig.h
#ifndef EDITNETCONFIG_H #define EDITNETCONFIG_H #include <QDialog> namespace Ui { class EditNetConfig; } class EditNetConfig : public QDialog { Q_OBJECT public: explicit EditNetConfig(QWidget *parent = 0); ~EditNetConfig(); signals: void serverIPchange(const QString &serverip);//再此声明信号 private: Ui::EditNetConfig *ui; }; #endif // EDITNETCONFIG_H
然后在editnetconfig.cpp中调用
void EditNetConfig::on_buttonBox_accepted() { QString serverip=ui->lineEdit_5->text(); emit serverIPchange(serverip);//再此发出信号 }
然后就可以在别的窗口下connect了,
**.cpp
connect(&editnetconfig,SIGNAL(serverIPchange(QString)),this,SLOT(serverIPchnage(QString)));
void MainWindow::serverIPchnage(const QString &serverip)
{
qDebug()<<serverip;//此时的serverip就是你在editnetconfig.cpp中要传的参数
}