我经历了一个非常讨厌的qtcreator bug,我不知道我是否出错了或者只是一个已知的bug并且有一些简单的解决方案(我真的希望如此)。
BUG:当我尝试使用alt + Enter生成Q_PROPERTY的缺失成员时,生成成员是随机创建的。当我尝试生成setter和getter时,会发现相同的bug。
信息:QtCreator 4.2 QT 5.7.1 MSVC 2015 32bits。
这里加入了我的qt创建者的一些截图 http://imgur.com/a/8ZUjq
答案 0 :(得分:0)
我想我知道导致这个错误的原因。这是缺少的公共部分。 您可以通过创建没有公共部分的类
来重现该错误class Foo: public QObject {
Q_OBJECT
Q_PROPERTY(int c READ c WRITE setC NOTIFY cChanged)
Q_PROPERTY(int d READ d WRITE setD NOTIFY dChanged)
}
将光标放在Q_PROPERTY上,然后按Alt + Enter并单击generate missing。 当我将公共部分添加到类中时,一切都按预期工作。 也许这应该在下一个qt-creator版本中得到纠正,我想它应该自动添加公共部分并插入正确的成员。