子窗口屏蔽父窗口(模态窗口)
1.子窗口继承自QDialog,并调用exec()方法
2.子窗口继承自QWidget
MyDialog *dialog = new MyDialog(NULL);//MyDialog继承自QWidget
dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
dialog->setWindowModality(Qt::ApplicationModal);
dialog->show();
窗口间的通讯
使用信号槽机制来进行通讯
connect(dialog, SIGNAL(sendIsSave(QString)), this, SLOT(slot_SaveAsto(QString)));//子窗口发送信号
connect(this, SIGNAL(sendSaveAs()), dialog, SLOT(slot_changeName2()));//父窗口放松信号
dialog->show();
emit sendSaveAs();
提示
当使用 MyDialog *dialog = new MyDialog(NULL);
在任务栏中会出现两个窗口图标,若要子窗口图标不显示,可以按以下步骤操作:
MyDialog *dialog = new MyDialog(this);