Qt学习笔记(九) 子窗口屏蔽父窗口以及窗口间的通讯

子窗口屏蔽父窗口(模态窗口)

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);

猜你喜欢

转载自blog.csdn.net/xuxunjie147/article/details/80611395
今日推荐