如何更改 Qt Creator 为 Q_PROPERTY 生成的 getter 签名?

How to change getter signature generated by Qt Creator for Q_PROPERTY?

如果我开始在头文件中键入 Q_PROPERTY,Qt Creator 会提供使用片段来完成代码:

我的问题是默认的 getter 名称。我公司的编码风格需要 "get" 前缀 getter 方法。我希望代码段中的 getter 为 getName,而不是 name。不,找另一份工作不是一个选项。

当我找到 QtCreator\share\qtcreator\snippets\cpp.xml 并修改行时,我确定我找到了解决方案:

<snippet group="C++" trigger="Q_PROPERTY" id="cpp_q_property">Q_PROPERTY($type$ $name$ READ $name$ WRITE set$name:c$ NOTIFY $name$Changed)</snippet>

使用READ get$name:c$ ...但它不会改变任何东西。有没有办法让 Qt Creator 使用 cpp.xml 文件?

有什么方法可以更改生成的 getter 名称吗?

我解决这个问题的方法是输入 Q_PROPERTY 并选择我的变量名。我接受默认函数名称。当我在最后一行输入 ; 时,该过程完成。

现在我可以更改任何函数名称,例如 getNamefor name as getter。请注意,如果您在行尾键入 ; 之前更改了名称,它也会更改其他函数名称,因此您希望通过先以 ; 结束行来接受默认值。

调整函数名称后,右键单击 Q_PROPERTY 单词并从 Refactor 菜单中 select generate missing Q_PROPERTY members 它将生成正确的名称,如中所列这条线。

使用 QtCreator Tools/Options/Text Editor/Snippets 菜单选项编辑 Q_PROPERTY 触发片段并定制自动完成代码以生成所需 getter 名称。

工作片段如下: Q_PROPERTY($type$ $name$ READ get$name:c$ WRITE set$name:c$ NOTIFY $name$Changed)