问题标签 [qtdeclarative]

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 投票
1 回答
356 浏览

deployment - QML 应用部署、资源系统或相关寻址

我将部署一个基于 QML 的应用程序。现在我想知道最好将资源系统用于 .qml 文件及其关联文件或使用相对寻址或有更好的方法
如果 qml 文件和图像的数量越来越大,第一种方法可能会使项目难以管理。此外,我认为部署第三方插件(如 Qt 桌面组件)会更加困难。
第二种方式并不安全。每个人都可以打开一个文本编辑器并编辑您的 .qml 文件。
有没有更好的办法?

0 投票
1 回答
2511 浏览

python - PySide:将数据从 QML 传递到 Python

我正在尝试将数据从 QML 发送到 Python,但出现错误。

测试.py:

测试.qml:

单击按钮时,我希望它打印“测试”,但我收到此错误:

TypeError: printText() 正好需要 2 个参数(给定 1 个)

我错过了什么?

编辑:将示例更改为更简单的示例。

0 投票
1 回答
115 浏览

qt - QML 是否需要 libQtDeclarative?

我不确定 QML 是否需要 libQtDeclarative.a。是吗?如果不是,它究竟是为了什么?

0 投票
1 回答
1055 浏览

opengl - Qt Quick 跨平台应用程序中的 OpenGL

我正在尝试开发一个跨平台(或至少桌面+嵌入式硬件)应用程序。我想使用 Qt Quick 创建一个触摸友好的 GUI。我已经实现了一个带有显示数据的 QGLWidget 的经典应用程序。重要的是只有窗口的一部分在 OpenGL 中。因此,EGLFS 和 LinuxFB 存在问题。只有 X11(或者可能是 Wayland)可以正确显示应用程序(其他会生成一些关于缺少 setParent 函数的错误,并且整个屏幕都是黑色的)。现在我正试图在 QML 中实现同样的目标。我想将此 OpenGL 渲染器用作我的 QML 应用程序的一部分,以及它周围的一些 Qt Quick 小部件。我发现有几个人问同样的事情,答案总是继承 QDeclarativeItem 并打电话给画家 s beginNativePainting() (其他人说通过 QDeclarativeItem 导出它,但我不知道如何做到这一点)。问题是在桌面上,Qt 5.11 原生画家不是 OpenGL。而且在QT5中没有办法强制使用OpenGL图形系统。因此,当我尝试获取 OpenGL 上下文 (QGLContext::currentContext()) 时,我总是得到 NULL。另一个问题:如果我用 qmlRegisterType("Test", 1, 0, "Test"); 导出我的小部件 它仅在我使用 QDeclarativeView 时才可见,但随后看不到 Qt Quick。如果我使用 QQuickView,它会说未安装模块“测试”。我怎样才能正确实施呢?因此,当我尝试获取 OpenGL 上下文 (QGLContext::currentContext()) 时,我总是得到 NULL。另一个问题:如果我用 qmlRegisterType("Test", 1, 0, "Test"); 导出我的小部件 它仅在我使用 QDeclarativeView 时才可见,但随后看不到 Qt Quick。如果我使用 QQuickView,它会说未安装模块“测试”。我怎样才能正确实施呢?因此,当我尝试获取 OpenGL 上下文 (QGLContext::currentContext()) 时,我总是得到 NULL。另一个问题:如果我用 qmlRegisterType("Test", 1, 0, "Test"); 导出我的小部件 它仅在我使用 QDeclarativeView 时才可见,但随后看不到 Qt Quick。如果我使用 QQuickView,它会说未安装模块“测试”。我怎样才能正确实施呢?

0 投票
1 回答
632 浏览

c++ - 未找到 QML“QtQuick.PrivateWidgets”插件“widgetsplugin”

我使用共享的 Qt 库开发了我的 Qt 应用程序。

转换到静态 Qt 库后CONFIG += static,我的应用程序崩溃,我在日志中看到

QQmlApplicationEngine 加载组件失败

qrc:/main.qml:907 类型 MessageDialog 不可用

qrc:/QtQuick/Dialogs/WidgetMessageDialog.qml:42 模块“QtQuick.PrivateWidgets”插件“widgetsplugin”未找到

qml 的问题部分如下所示:

我的问题是:

  • 什么是QtQuick.PrivateWidgets插件?
  • 如何解决这个问题?
0 投票
1 回答
368 浏览

c++ - Qt | 这是否可以同时使用声明性和快速模块

我有Qt5一个针对 Qt 库成功编译的项目,但是在针对 Qt 库进行编译时shared出现了很多错误(大约 130 个错误):* error: multiple definition of 'XXX'static

几乎所有成对检测到的多个定义:

  • libQt5Declarative, libQt5Quick
  • libQt5Declarative, libQt5Qml

libQt5Declarative只需要MessageDialog在我的 qml中使用

我的.pro文件:

我的问题是:

  • 为什么它成功地针对共享 Qt 进行编译,但是当我针对静态 Qt 进行编译时却失败了?
  • 这可以同时使用声明性模块和快速模块吗?
  • 我自己编译了静态 Qt 库,也许我做错了,Qt 有官方静态库包吗?
0 投票
1 回答
79 浏览

delegates - 2 个相同的 ListViews,在委托内部有细微差别

我有两个几乎相同的 qml 文件。我在这里列出其中一个,另一个与注释行显示的差异:

这 2 个组件旨在成为外观相似的列表视图,但代表外观略有不同。如何将这两个文件合并为一个以便能够像这样使用它们?

0 投票
0 回答
157 浏览

c++ - Qml 中的动画

我试图在我的代码中缓慢改变颜色,但我的程序等待 1.5 秒,然后立即改变颜色。我的开发环境是 Windows 8。我该如何解决这个问题?这是我的代码:

0 投票
0 回答
1613 浏览

qt - 带有静态构建的 Qml

我看过很多关于这个问题的话题,但没有一个能真正解决我的问题。当我创建一个新的 Qt Quick 应用程序时QtQuick 2.4出现错误:

项目错误:QT 中的未知模块:快速 qml

如果我导入QtQuick 1.1我有:

项目错误:QT 中的未知模块:声明性

有没有办法使用 Qt 5.4 创建带有静态库的 Qt Quick 应用程序?

0 投票
2 回答
1443 浏览

qt - 无法启动 Qt Quick Controls 应用程序

我下载了 Qt 5.4 并使用 Qt Quick Controls 1.3 创建了 Qt Quick 应用程序。

我没有更改代码中的任何内容,只是构建了它(作为发行版)。然后我将 .exe 复制到另一个文件夹,添加了.dll我需要的所有文件,当我启动程序时没有窗口,只有在任务管理器中运行的程序进程。

但是,我可以启动使用 QtQuick 1.1 的程序。

我该如何解决?

谢谢。

这是更多解释的图像:

在此处输入图像描述