子窗体发出信号,让父窗体执行。信号和槽类似,广播接收的机制。
目录
1.2 在子窗体的某个事件或者操作中,发射该信号,showEvent
1.4 子窗体关闭的时候,重新让主窗体的按钮亮起来,在子窗体的closeEvent事件再次发射信号
2.2 非模态显示,并以StayOnTop 的方式,用完删除
1、如何让子窗体中设置父窗体按钮灰掉?
1.1 子窗体中定义信号
signals:
//对话框发射的信号,用于改变action的 enable
void changeActionEnabled(bool enabled);
1.2 在子窗体的某个事件或者操作中,发射该信号,showEvent
void TDialogLocate::showEvent(QShowEvent *event)
{//窗口显示
event->accept();
//如果本窗体显示,就发信号给主窗体,告诉他将action按钮灰掉
emit changeActionEnabled(false);
}
1.3 在主窗体的某个操作中,在正确的时机连接该信号
void CustomDialogExample::on_actTab_Locate_triggered()
{
TDialogLocate *dlgLocate = new TDialogLocate(this);
//对话框关闭时自动删除窗体,用于不需要读取返回值的对话框
dlgLocate->setAttribute(Qt::WA_DeleteO

最低0.47元/天 解锁文章
450

被折叠的 条评论
为什么被折叠?



