欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QDialog无法执行显示

程序员文章站 2022-05-30 16:48:09
...

今天遇到一个奇怪的问题一个类A继承自QDailog()

class A : public QDailog()
{    
    A(QWidget* parent):QDailog(parent)
{    
    ......
}
    virtual int exec()
{
   return QWidget::exec();
}
}

发现如果A初始化时不传入父窗口parent指针,一切执行正常。

如果A传入了父类指针,则exec()会一直返回-1(正常exec()会返回 1 accept 或 0 reject),并且不显示对话窗口。

后来发现继承类A中调用setWindowFlags

QDialog无法执行显示

在setWindowFlags中增加了Qt::Dailog属性后正常