• 5043阅读
  • 3回复

[提问]关于父子对话框的问题,着急中! [复制链接]

上一主题 下一主题
离线ihatecoding
 
只看楼主 倒序阅读 楼主  发表于: 2012-03-23
关键词: QT4求助Linux
void MyDialog::on_toolButton_Macula_clicked()
//MyDialog父对话框
//NcFramelessHelper专门做对话框可以随鼠标移动扩大的类
{
    CPhotoDlg *m_dPto = new CPhotoDlg(this);
    m_dPto->setWindowFlags(Qt::FramelessWindowHint|Qt::Dialog);
    m_dPto->setAttribute (Qt::WA_DeleteOnClose);
    .....
    NcFramelessHelper fh;
    fh.activateOn(m_dPto);

    //this->setVisible(false);  //隐藏父对话框,没有用hide()但是有这句的时候两个对话框都隐藏了,用hide也是一样
    m_dPto->exec();
}
子对话框CPhotoDlg中有一个BACK按钮,希望在点击时隐藏子对话框,显示父对话框,如何实现。。总是感觉差一点能搞定就是搞不定,求指点啊!
离线ihatecoding
只看该作者 1楼 发表于: 2012-03-23
其实通过在子对话框的构造函数里添加setParent(NULL);后
可以实现在点击父窗口中按钮弹出子对话框的同时隐藏父窗口。
但是这个时候点击子窗口的back就报错了,错误在m_dPto->exec();还有更无奈的是:
当我把m_dPto->exec()换成m_dPto->show()时,父子窗口隐藏一个显示一个的功能得以实现。
新的问题是子窗口居然不能响应鼠标移动了,父窗口依然可以。
父窗口对 NcFramelessHelper的调用是在main函数里。
求解决方法!!
离线singolang
只看该作者 2楼 发表于: 2012-03-23


没有人帮忙啊。我在想如何把dialog窗口的关闭按扭失效,点击无反应。

知道可以回下哟。。
离线ihatecoding
只看该作者 3楼 发表于: 2012-03-23
重写鼠标动作的函数,放弃那个写好的可以实现移动功能的类,问题都解决了。
不能设置成子窗口也很重要。
快速回复
限100 字节
 
上一个 下一个