现在的位置: 首页 > 综合 > 正文

不同窗口之间使用信号槽

2013年12月09日 ⁄ 综合 ⁄ 共 753字 ⁄ 字号 评论关闭

不同窗口之间的信号槽,由一个窗口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中要传的参数
}

抱歉!评论已关闭.