我已经在库中运行了这段代码很长一段时间:
MyClass::MyClass()
: QDialog()
{
// (...)
setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowTitleHint );
// (...)
}
然后,在更改库的各个部分后,我突然收到以下消息:
error C2664: 'QWidget::setWindowFlags': cannot convert parameter 1 from 'int' to 'Qt::WindowFlags'
显然它没有找到 | QFlags 类提供的运算符重载使得 | 返回一个 int 而不是 QFlags 构造。
我知道我可以手动将结果转换为(Qt::WindowFlags)
并使其工作,但 QFlags 通常会使这种转换变得不必要。
知道什么样的变化会导致这种行为吗?
我包括<QtGui/QDialog>
通常就足够了。包括<QtCore/QFlags>
不会改变行为。