今天遇到一个奇怪的问题一个类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
在setWindowFlags中增加了Qt::Dailog属性后正常