我最近开始使用 QML,并尝试遵循此示例。该视频介绍了如何创建可在 QML 应用程序中显示的 C++ 模型。
在模型的数据成员函数中,使用了一个开关,将在 QML 中显示的字符串在 QVariant 中返回,但本教程还使用了一个额外的 QStringLiteral,如下面的代码所示。
QVariant ToDoModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
// FIXME: Implement me!
switch (role)
{
case DoneRole:
return QVariant(false);
case DescriptionRole:
return QVariant(QStringLiteral("Test description"));
}
return QVariant();
}
Run Code Online (Sandbox Code Playgroud)
我在没有 QStringLiteral 的情况下尝试了同样的一段代码,它工作得很好,那么 QStringLiteral 的目的是什么?
如何创建一个没有线条而只有箭头的矢量?
有一个名为“nohead”的选项,它删除了箭头的头部,但我想做相反的事情,删除矢量的线并只保留头部。
最优选地还能够基于单个数字重新缩放该箭头的尺寸。