什么';这是从C+填写QtQuick QML中定义的QComboBox的公认方式+;? 我想从QC++代码中填充QML中定义的QCOMBOX框。我看到了两种可能的方法: 从C++代码中定义一个列表(例如, qStRistList< /Cube >),并将其公开为 QYOLL元素。然后从C++中访问列表,通过“模型:后端.qList< /Cord>”假设列表在后端< /代码>中定义。或 使用C++代码>视图.RooButjCub()-Fund()/查找C++代码中的QCOMBOBOX。然后使用addItem()填充列表
什么是最佳实践?到目前为止,这是第一个选择什么';这是从C+填写QtQuick QML中定义的QComboBox的公认方式+;? 我想从QC++代码中填充QML中定义的QCOMBOX框。我看到了两种可能的方法: 从C++代码中定义一个列表(例如, qStRistList< /Cube >),并将其公开为 QYOLL元素。然后从C++中访问列表,通过“模型:后端.qList< /Cord>”假设列表在后端< /代码>中定义。或 使用C++代码>视图.RooButjCub()-Fund()/查找C++代码中的QCOMBOBOX。然后使用addItem()填充列表,c++,qt,qml,qcombobox,qstringlist,C++,Qt,Qml,Qcombobox,Qstringlist,什么是最佳实践?到目前为止,这是第一个选择 QML代表Qt建模语言,遵循模型-视图体系结构,在这种体系结构中,模型(这里是C++)不应该知道关于视图(QML)的任何信息。第一个选项工作得很好。实现起来很容易。从C++侧创建一个返回列表的方法: QVariantList getList() { QVariantList list; list << "Op1"; list << "Op2"; l
QML代表Qt建模语言,遵循模型-视图体系结构,在这种体系结构中,模型(这里是C++)不应该知道关于视图(QML)的任何信息。第一个选项工作得很好。实现起来很容易。从C++侧创建一个返回列表的方法:
QVariantList getList()
{
QVariantList list;
list << "Op1";
list << "Op2";
list << "Op3";
return list;
}
什么是最佳实践?这显然是一个基于观点的问题。声明说:请不要回答那些可能会被关闭甚至删除的糟糕问题。我们的目标是这个标签的高质量,因此我们不希望通过提供答案来鼓励糟糕的问题。@scopchanov你肯定有道理,但我认为我回答这个问题也有道理,因为第二个选项属于“有可能,为什么不使用它”,而它肯定会导致糟糕的、无法维护的代码。但现在回想起来,我最好还是发表评论
comboBoxReader.model = backend.getList()