如果我们右键点击任何数据成员并转到Refractor - >然后单击Create Getter Setter。 它将Getter ByDefault创建为get + DataMemberName。但我想把Getter作为Qt的大会, 示例: for DataMember carName ByDefault QtCretor将创建 - > getCarName() 但我想 - > CarName()。
可以通过更改某些创作者设置或其他内容来实现。
答案 0 :(得分:1)
在查看Dominik的回答中提到的/plugins/cppeditor/cppquickfixes.cpp
之后,有一个简单的方法:
以任何这些方式为私人数据成员命名
QString m_carName;
QString _carName; // note: using _ to start identifier is questionable (*)
QString carName_;
然后Qt Creator应生成getter carName
。请注意,CarName
不是Qt约定,但如果您确实需要,请使用m_CarName
作为变量名称。
(*)见What are the rules about using an underscore in a C++ identifier?
答案 1 :(得分:0)
一个非常简单的选择是从源代码编译QtCreator并更改文件中的命名规则 /plugins/cppeditor/cppquickfixes.cpp。搜索课程 GenerateGetterSetterOperation 。在构造函数中,此处定义了变量名称 m_getterName 和 m_setterName 。
您正在寻找的代码是:
m_getterName = m_baseName != m_variableString
? QString::fromLatin1("%1").arg(m_baseName)
: QString::fromLatin1("get%1%2")
.arg(m_baseName.left(1).toUpper()).arg(m_baseName.mid(1));
m_setterName = QString::fromLatin1("set%1%2")
.arg(m_baseName.left(1).toUpper()).arg(m_baseName.mid(1));
您必须将第一部分更改为:
m_getterName = m_baseName != m_variableString
? QString::fromLatin1("%1").arg(m_baseName)
: QString::fromLatin1("%1%2")
.arg(m_baseName.left(1).toLower()).arg(m_baseName.mid(1).toUpper());
老实说,我没有检查是否正确。
编辑:海德是绝对正确的。由于时间的限制,我没有检查我深入引用的机制,但是几分钟前就试过了并检查了来源。