Qt és QML kódolási stílus
Qt/C++
A jel és a szék nevezés
A jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelzésnek a jelképeletnek a jelkéve a jelkéve a jelkéve a jelkéve a jelkéve a jelkéve a jelkéve az a jelkéve az a jelkéve az a jel, hogy az a jelkéve az a jelkéve az a jelkéve az a jelkéve az a jelkéve az a jelkéve az a jel, hogy az a jelkéve az a jelkéve az a jelkéve az a jelkéve az a jelkéve, hogy az a jelkéve, hogy az a jelkéve, hogy az a jelkéve az a jelkéve, hogy az a jelkéve az a jelkéve az a jelkéve az a jelkéve az
// correct
signal:
void shutdownScheduled();
void navigationRequested();
...
slot:
void onShutdownScheduled();
void onNavigationRequested();
// incorrect
signal:
void shutdown();
void navigateToHomeView();
...
slot:
void onShutdown();
void slotNavigateToHomeView();
QML
Kód formázása
A qmlformat Qt 5.15.0 verziójában vannak problémák a megjegyzésszekciókkal, és jelenleg nem tesz különbséget a maximális oszlopszám között, ezért ezt a formázási stílust továbbra is használni fogjuk az irányelvekben. A következő egy átfogó mintakomponens, amelyet a https://doc.qt.io/qt-5/qml-codingconventions.html oldalról adaptáltunk, és amely megpróbálja szemléltetni az ideálisan formázott komponenst.
/*
* authored by/copyright …
*/
// Id always on the first line, and always present and called root
// for root component. Only present if referenced for children.
// Multi-line comments use '//'.
// There should always be a brief description of a component.
// Multi-line comments start with a capital letter and end with
// a period.
Rectangle {
id: root
// property declarations
property bool thumbnail: false
property alias image: photoImage.source
// signal declarations
signal clicked
// javascript functions
function doSomething(x) {
return x + photoImage.width
}
// object properties
color: "gray"
// try to group related properties together
x: 20
y: 20
height: 150
// large bindings
width: {
// Always space all operators, and add a single space
// before opening brackets.
if (photoImage.width > 200) {
photoImage.width
} else {
height
}
}
// child objects (contentItem, defaults, etc. first)
Rectangle {
id: border
anchors.centerIn: parent
color: "white"
Image {
id: photoImage
anchors.centerIn: parent
}
}
Text {
anchors.centerIn: photoImage
// Use the ellipsis character (…) for manual ellision within
// UI text and don't translate untranslatables.
text: qsTr("an emoji: %1 and a number: %2 …").arg("💡").arg(42)
}
// states
states: State {
name: "selected"
PropertyChanges {
target: border
color: "red"
}
}
// transitions
transitions: Transition {
from: ""
to: "selected"
ColorAnimation {
target: border
duration: 200
}
}
}
JS-kód formázása
Kérlek, állítsd be az IDE-szerkesztőt úgy, hogy a formázáshoz a src/app/js/ könyvtárban található clang-format fájlt használja. Ideális esetben minden JS kódnak ebben a könyvtárban kell lennie, és a clang-format fájlt kell használni a kód formázásához. A segédprogramként szolgáló vagy a fő alkalmazás részét nem képező JS-fájloknak mind a src/app/js/ könyvtárban kell lenniük. Ha valamilyen okból egy JS-kódfájlt máshol kell elhelyezni, kérlek másold a clang-format fájlt abba a könyvtárba, és használd azt a kód formázásához.