不同窗口之间使用信号槽

来源:互联网 发布:淘宝男装服装 编辑:程序博客网 时间:2024/05/21 18:40

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


原创粉丝点击