一般情况下都是使用dialog后,结果用信号传回父窗口。
这次是将数据传递近dialog操作,考虑模态和非模态情况,原理是一样的。
SIGNAL部分:父窗口的header 中先声明一个信号
signals:
void info_sender(QString,QString,QString);
SLOT部分:Dialog的header当中声明一个槽函数
private slots:
void info_rec(QString,QString,QString);
定义一下:在Dialog的源文件中说明一下接收的规则
void send_Dialog::info_rec(QString ip,QString port,QString unit_id)
{
IP = ip;
PORT = port;
UNIT_ID = unit_id;
}
在父窗口call dialog的时候同时发送信号的代码块:
send_Dialog singleUnitDialog;
connect(this,SIGNAL(info_sender(QString,QString,QString)),&singleUnitDialog,SLOT(info_rec(QString,QString,QString)));
emit info_sender(ip,port,unit_id);
singleUnitDialog.exec();