问题标签 [qqmlcomponent]

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 投票
2 回答
1980 浏览

qml - 如何使用 QML 工具按钮填充 QTableview

我需要按下红色圆圈下的创建按钮,然后按下此按钮,我试图填充表格视图的第一行。我是 QT Quick 的新用户,请帮助我。我浪费了很多时间,但没有办法做到这一点。

我也提供 UI 和代码,请看一下。

谢谢 !在此处输入图像描述

0 投票
1 回答
2882 浏览

qt - 在 QML 中重用委托组件

在 QML 中设计我的应用程序时,我遇到了一个奇怪的问题。以下代码有效:

我在这个项目委托中有一堆函数、属性和加载器,它是一个项目对象。当我尝试在 ListView 中重用此委托时会出现问题。我不能这样引用它:

这是因为itemDelegate是一个Component

http://qt-project.org/doc/qt-5/qml-qtquick-controls-tableview.html#itemDelegate-prop

因此,QML 可以在嵌入时转换为ItemComponent但在引用时不能。

而且我不能让它成为一个组件,因为组件不能有函数、加载器、属性等。

如何重用我的委托?

0 投票
1 回答
1828 浏览

javascript - Qml 嵌套列表模型追加数据

我有我的列表模式

我可以使用代码附加列表模型

哪个工作正常。

但是我只需要使用相同的追加模型来追加内部列表,就像我已经Cam11,Cam22,Cam33,Cam44在列表模型中一样,我必须Cam55,Cam66动态追加。

怎么可能?

任何帮助将不胜感激……</p>

谢谢哈里斯

0 投票
1 回答
1071 浏览

qt - Qt 从相对 URL 创建组件

4.8 文档中,指定:

使用具有相对路径的文件时,路径应该相对于执行 Qt.createComponent() 的文件。

所以我使用以下内容来创建一个对象:

但我得到了错误:

QQmlComponent:组件没有准备好

我也试过(没有运气)"foo/bar.qml"。更改为"foobar.qml"工作正常,目录结构:

但是我注意到在第 5 版文档中没有提到相对 URL ,那么有没有一种我缺少的新方法来做到这一点?

0 投票
1 回答
825 浏览

qt - 未找到 QQmlEngine 符号

我从 main.cpp 收到一个链接器错误,包括QQmlEngineQQmlComponent构造函数在内的大量符号未定义:

我已经运行qmake -project,并重建了所有。

浏览其他问题和文档,似乎 include 应该是QQmlEngine,但这没有找到,并且QtQml/QQmlEngine是。它们是同一个,还是问题所在?

0 投票
4 回答
21311 浏览

qt - QML 对象类型不是 QTCreator 中的类型错误

大家好,我是 QT 新手,我无法通过另一个 qml 加载一个 qml 基本上我已经创建了一个 qml MyTabView(MyTabView.qml)

我试图通过同一目录中的另一个 qml(main.qml) 来展示它

但是当我尝试运行我的项目时,我收到了这个错误

QQmlApplicationEngine 加载组件失败 qrc:/qml/main.qml:11 TabView 不是类型

请注意,我在 MyTabView.qml 中有 M Caps,并且 MyTabView.qml 和 main.qml 位于同一目录中。

有人能指出我在做什么错误吗?我想指出的一件事是,当我替换 MyTabView.qml 而不是MyTabView {}内部main.qml的所有代码时,程序不会给出任何错误并正确运行。提前致谢

0 投票
1 回答
829 浏览

qml - QT5 - 为桌面安装 Qt Quick 组件

我在使用 QT5 的 Qt Quick Components for Desktop 时遇到了一些安装问题。

以下是我遵循的步骤(基于这些说明):

  1. 从http://qt.gitorious.org/qt-components/desktop/trees/master下载 tar.gz并解压组件。

  2. 添加到PATH环境变量中的变量值(操作系统:Windows 8)C:\Qt\Qt5.3.1\5.3\msvc2012_opengl\bin;C:\Qt\Qt5.3.1\Tools\QtCreator\bin;

  3. 运行vcvars32.bat脚本 (Visual Studio 2012)。

  4. 运行命令:qmake && nmake install\qt-components-desktop\components文件夹中。

  5. 运行命令:qmake && nmake install\qt-components-desktop\src文件夹中。该命令已自动将编译好的组件文件复制到 QT 导入文件夹中。

在步骤5中,我收到以下错误:

我知道发生这些错误是因为源代码是针对 QT4 的,并且这些包括减速(如QtGui/QApplication)在 QT5 中不再存在。

我用谷歌搜索了很多,但我找不到如何下载 QT5 的这个插件,就像 QT4 的http://qt.gitorious.org/qt-components/desktop/trees/master一样。

任何的想法?或者我错过了另一个问题?

0 投票
0 回答
364 浏览

qml - QtQuick 项目的隐式维度是如何传播的?

我正在尝试实现一个默认情况下(如果没有width明确设置)应该占用尽可能多的空间的组件(即取决于它的implicitWidth)。如果width在定义时设置它应该缩小其内容以适应提供的区域。

这是一个例子:

在这个示例中,两种模式由辅助bool属性控制,我希望它支持两种声明形式:

  1. 显式宽度。Text应该省略。

    /li>
  2. Loader宽度应该足以容纳整个文本而不会省略。

    /li>

动机是这样一个组件将在一个单独的文件中定义,并且被设计为放置在 UI 的不同部分中,这两种行为都取决于当前的需求。这个带有内联组件声明的示例仅用于演示目的。

更新:

以下技巧parent.width > 0 ? parent.width : undefined有效,但仅适用于初始设置。如果组件内容更改并implicitWidth更新(在 unrestricted模式下),组件的宽度不会更改(即Text保持省略)。

例如,在启动示例后立即按右键。你应该看到它Text已经被省略了,但它的宽度并没有增加两倍,不管字符串是重复的。

0 投票
1 回答
16849 浏览

c++ - 错误:QQmlApplicationEngine 加载组件失败

我尝试注册一个类型,但出现此错误:

这是我正在使用的代码:

0 投票
1 回答
3952 浏览

qml - 打开另一个 QML 窗口时如何隐藏 QML 窗口

我需要在单击按钮时打开另一个 QML 窗口时隐藏 QML 窗口,我使用 Loader 打开另一个 QML 窗口,它只隐藏 QML 表单组件而不是 QML 窗口,但我目前使用窗口组件打开 QML 窗口

这是我的代码:

上面的代码仅在单击按钮时导航 QML 窗口,而我需要隐藏 QML 窗口。