问题标签 [qml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7398 浏览

wpf - XAML 和 QML 等声明式 UI 语言的实际优势是什么?

我目前正在评估QtQuick(Qt 用户界面创建工具包),它将作为 Qt 4.7 的一部分发布。QML是 QtQuick 背后基于 JavaScript 的声明性语言。

这似乎是一个非常强大的概念,但我想知道是否有人广泛使用其他更成熟的声明性 UI 语言,如WPF 或 Silverlight 中的XAML,可以深入了解可以从中获得的实际好处这种编程风格。经常提到各种优点:

  • 发展速度
  • 强制分离表示和逻辑
  • 编码人员和设计师之间更好的集成
  • UI 更改不需要重新编译

另外,有什么缺点吗?一些潜在的关注领域浮现在脑海中:

  • 执行速度
  • 内存使用情况
  • 增加了复杂性

还有其他需要考虑的因素吗?

0 投票
1 回答
878 浏览

c++ - QML 中的元素和事件检查(QT 声明式)

我正在 Qt Quick(Qt 声明式和 QML)中进行一些测试,并且我想检查构成声明式接口的元素。

例如,如果我有一个由一个矩形和两个图像组成的声明性 GUI,我希望有一个包含三个(或更多)元素的列表,其中包含这些小部件(或 Qt Declarative 中的项目)。

在 Qt4 中,它就像调用 QApplication::allWidgets() 方法一样简单,但我不知道如何在 QML 中做到这一点。

事件过滤器也是如此,因此我无法将事件发送到这些项目。

干杯!!!

0 投票
1 回答
5446 浏览

listview - QML 应用程序中只填充了一行 ListView,知道为什么吗?

我正在尝试创建一个简单的 QML 应用程序,该应用程序将通过我的活跃国际象棋游戏获取 RSS 提要并用它做一些事情。此时我只是想用提要内容填充列表视图,但即使提要中应该有 11 个项目,它也只显示一个项目。这是一个错误还是我没有做对?

这是代码:

委托应该没问题,因为我注释掉的简单委托也会发生同样的事情。

0 投票
2 回答
3249 浏览

qt - 如何在 QML 中进行基于状态的模型更改

我正在尝试制作一个基于 QML 的字典应用程序。它通过 XML RESTful API 获取单词定义并将它们显示在 ListView 中。我让它在这种基本模式下工作。但现在我正在尝试为 ListView 实现两种状态:具有定义的标准视图和搜索失败时的“您的意思是”类型建议列表。

我当前的 ListView 代码是这样的:

这给出了这个错误:

PropertyChanges宣言。还有一个绑定循环,但这并不是我无法解决的问题。我的问题是如何定义状态。我也无法在 State 声明中实例化模型和委托,因为解释器会抱怨创建特定于状态的对象。

0 投票
4 回答
6084 浏览

c++ - QML ListView 多选

如何在 QML ListView 中选择一些元素并将其索引发送到 C++ 代码?

0 投票
2 回答
5624 浏览

build - 在应用程序构建中包含 QML 源的首选方式是什么?

我正在使用混合 UI 技术构建一个应用程序(主要是 C++,包括一些 QML 组件)。

假设我有一个 QML 项目,我想在这样的QDeclarativeViewusing 语法中显示它:

我已将 foobar.qml 添加到 Qt Creator 中的项目中,它会自动将此行添加到 .pro 文件中:

现在,您可能希望将文件包含到项目中以暗示它应该被复制到构建文件夹,但事实并非如此,并且当我运行应用程序时,我收到有关在构建文件夹中丢失 foobar.qml 的错误。我不想添加自定义构建步骤只是为了复制 QML 源代码,所以有一些“事实上的”方法吗?

0 投票
2 回答
2424 浏览

qt - Qt:如何为 Symbian 设备构建 QML 应用程序?

我对 Qt 很陌生,我刚刚开始研究 QML。Nokia Qt SDK for Symbian 中包含一些示例应用程序,我已设法将它们加载到 Qt Creator 中,并使用桌面上的 QML Viewer 应用程序运行它们。

我想在设备上尝试一些示例,但我完全不知道如何让 qml 文件在设备上运行。它们是先打包成 sis 文件并安装,还是简单地复制文件夹?如果是这样,应用程序如何在设备上启动?

做了一些谷歌搜索后,我似乎能够找到的唯一信息说目前可用于 Symbian 设备的 Qt 库只有 4.6.3,而 QML 应用程序需要 4.7.0 版本?这是否意味着我目前无法在设备上运行 QML 应用程序?(设备为 S60 第 5 版)

任何有关更多信息的正确方向的帮助或指示将不胜感激。

0 投票
1 回答
4823 浏览

python - 如何将 PySide QAbstractItemModel 子类中的数据提供给 QML ListView?

我有一个我在 PySide 中编写的具有 QML UI 的应用程序。我在 Python 中对 QAbstractListModel 进行了子类化:

我通过在主脚本中执行此操作将模型提供给我的 QML:

Qt 的文档说模型的角色名称用于访问来自 QML 的数据,并且可以将 QML 中的普通 DisplayRole 称为“显示”,因此我的 QML 有一个带有简单委托的 ListView,如下所示:

但是,当我这样做时,结果是file:///foo/bar/main.qml:28: ReferenceError: Can't find variable: display.

在模型中设置自定义角色名称没有帮助。想法?

0 投票
2 回答
2131 浏览

webkit - 在 OSX 上部署基于 Qt QML 的应用程序(使用 WebKit)

我们编写了一个大量使用 QML 的应用程序,现在是时候尝试部署它了,由于对 QtWebKit 的依赖,我遇到了非常恼人的问题

我编译了应用程序,并且在我的计算机上一切正常。然后我在 .app 上运行 macdeployqt 脚本,无论出于何种原因,WebView QML 组件都在说:“未安装模块 QtWebKit”

在依赖 QtWebKit/WebView 的 OSX 上部署基于 QML 的应用程序的正确方法是什么?

0 投票
2 回答
10965 浏览

qt4 - QML 自定义属性

我无法在 QML 项目中定义自定义属性:

MovieTitleItem 是在单独的 QML 文件中定义的项目:

我得到的错误是“无法将对象分配给属性”,指向属性声明。有任何想法吗?