我有一个Loader加载另一个qml 的QML
Loader { id: gaugeLoader }
PieMenu {
id: pieMenu
MenuItem {
text: "Add Bar Gauge"
onTriggered: gaugeLoader.source = "qrc:/Gauges/horizontalBarGauge.qml"
}
MenuItem {
text: "Action 2"
onTriggered: print("Action 2")
}
MenuItem {
text: "Action 3"
onTriggered: print("Action 3")
}
}
Run Code Online (Sandbox Code Playgroud)
我如何可以传递参数来设置ID,width,height等加载的QML的?
我正在使用返回字节数组的串行设备。该数组中的值存储在无符号短整型和无符号字符中。我有以下结构:
typedef struct {
unsigned short RPM; //0
unsigned short Intakepress; //1
unsigned short PressureV; //2
unsigned short ThrottleV; //3
unsigned short Primaryinp; //4
unsigned short Fuelc; //5
unsigned char Leadingign; //6
unsigned char Trailingign; //7
unsigned char Fueltemp; //8
unsigned char Moilp; //9
unsigned char Boosttp; //10
unsigned char Boostwg; //11
unsigned char Watertemp; //12
unsigned char Intaketemp; //13
unsigned char Knock; //14
unsigned char BatteryV; //15
unsigned short Speed; //16
unsigned short Iscvduty; //17
unsigned char O2volt; //18 …Run Code Online (Sandbox Code Playgroud) 我有以下 JSonArray 并想通过其“ID”搜索值。这里存储在 QJsonArray 中的 JSON:
{
"datasources":[
{"id":1, "name":"tps-pos", "display-name":"TPS Position"},
{"id":2, "name":"tps-timer", "display-name":"TPS Timer"},
{"id":3, "name":"laterial-g", "display-name":"Lateral G"},
{"id":4, "name":"longitudal-g", "display-name":"Longitudal G"},
{"id":5, "name":"Z", "display-name":"Z"},
{"id":6, "name":"afr", "display-name":"AFR"},
{"id":135, "name":"IAT", "display-name":"Intake Air temperature"},
{"id":179, "name":"RPM", "display-name":"RPM"}
]}
Run Code Online (Sandbox Code Playgroud)
我尝试了 std:find ,其中 m_list 包含应该在 JSON 中找到的 ID。
auto result = std::find(m_DataSourceArray.begin(),m_DataSourceArray.end(), m_list[0]);
Run Code Online (Sandbox Code Playgroud)
调试时,我看到“结果”总是与 m_DataSourceArray + 字段迭代器相同:(调试器视图:)
result @0x7ed9e0 QJsonArray::iterator
a <8 Elemente> QJsonArray
[0] <3 Elemente> QJsonValue (Object)
[1] <3 Elemente> QJsonValue (Object)
[2] <3 Elemente> QJsonValue (Object)
[3] <3 …Run Code Online (Sandbox Code Playgroud)