首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Qt6 QML QQmlApplicationEngine加载组件错误失败

Qt6 QML QQmlApplicationEngine加载组件错误失败
EN

Stack Overflow用户
提问于 2022-05-19 21:49:43
回答 1查看 394关注 0票数 0

我想在QtQuick中使用组件,我有两个qml文件,一个是main.qml和第二个button.qml,iam使用这个示例作为文档,但是当我运行我的代码时,它给我的错误是QQmlApplicationEngine未能加载组件qrc:/bbb/main.qml:13:5: button.qml不是类型。另外,我在main.qml中的导入按钮中看到了一些红色错误。

main.qml

代码语言:javascript
运行
AI代码解释
复制
import QtQuick

    Window {
        id:root
         width: 640
         height: 480
         visible: true
         title: qsTr("Hello World")
    
    
        Button { // our Button component
            id: button
            x: 12; y: 12
            text: "Start"
            onClicked: {
                status.text = "Button clicked!"
            }
        }
    
        Text { // text changes when button was clicked
            id: status
            x: 12; y: 76
            width: 116; height: 26
            text: "waiting ..."
            horizontalAlignment: Text.AlignHCenter
        }
    
    }

Button.qml

代码语言:javascript
运行
AI代码解释
复制
import QtQuick 2.0

Item {
    Rectangle {
        id: root
        // export button properties
        property alias text: label.text
        signal clicked

        width: 116; height: 26
        color: "lightsteelblue"
        border.color: "slategrey"

        Text {
            id: label
            anchors.centerIn: parent
            text: "Start"
        }
        MouseArea {
            anchors.fill: parent
            onClicked: {
                root.clicked()
            }
        }
    }

}

main.cpp

代码语言:javascript
运行
AI代码解释
复制
#include <QGuiApplication>
#include <QQmlApplicationEngine>


int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    const QUrl url(u"qrc:/bbb/main.qml"_qs);
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
                     &app, [url](QObject *obj, const QUrl &objUrl) {
        if (!obj && url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

EN

回答 1

Stack Overflow用户

发布于 2022-05-19 22:14:00

您的日志似乎被截断了一些。通常,在这种情况下(对我来说是Qt5.11),这个错误后面是在设计器中可见的invalid property name 'text',这是这里真正的问题。

您应该记住,如果信号和属性是在main.qml中最上面的元素上声明的,则信号和属性只能从外部(在您的Button.qml中是如此)可见/可用。似乎您可以简单地删除Item包装以使其正常工作。

Button.qml:导入QtQuick 2.0

代码语言:javascript
运行
AI代码解释
复制
Rectangle {
    id: root
    // export button properties
    property alias text: label.text
    signal clicked

    width: 116; height: 26
    color: "lightsteelblue"
    border.color: "slategrey"

    Text {
        id: label
        anchors.centerIn: parent
        text: "Start"
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            root.clicked()
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72314108

复制
相关文章
Qml透明窗口实现
  通过QQmlApplicationEngine加载Qml界面文件。需要添加下列代码即可:
Qt君
2020/04/02
3.9K1
1.1 Qt qml 开端
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
code先森
2021/06/01
9770
1.1 Qt qml 开端
Qml加载网络控件之小坑
rootObjects()为空,那么上一句逻辑执行load()意味着未正确执行或未加载完成。
Qt君
2023/03/17
6370
Qml加载网络控件之小坑
Vue图片加载错误、图片加载失败的处理
这个判断只能判断pic是否存在,只有pic=””的情况下,才会显示设置的默认图片,但是如果pic这个字段是有值的呢,并且是一个错误的值,或者一个找不到的404的路径呢?这个时候就要用onerror来检测图片加载错误,加载失败了
全栈程序员站长
2022/09/05
3.9K0
Qt开发-确认过眼神
Qt是一个跨平台的C++应用程序开发框架,用它可以轻易做出艺术级的图形界面;Qt 支持跨平台体现在它可以支持各大主流操作系统(Windows、Linux、Unix、嵌入式系统等)
ElectricDeveloper
2021/08/18
1.9K0
【QML】QML与C++混合编程
QML与C++混合编程 使用QQuickView pro文件中添加quick模块 #include<QApplication> #include<QQuickView> int main(int argc,char* argv[]){ QApplication app(argc,argv); //加载qml文件到视图 QQuickView view; view.setSource(QUrl("column.qml")); view.show(); re
半生瓜的blog
2023/05/13
9030
Qt Quick实践系列-创建简单例子
❝介绍如何创建一个QML简单例子。 ❞ 创建QML例子步骤 "文件"->"新键文件或项目"。 选择"Qt Quick Application"。 设置项目名字。 设置编译环境,这里设置的是Mingw编
Qt君
2020/05/08
8580
Qt Quick实践系列-创建简单例子
程序打包问题及解决方法汇总
  小白:怎么我编译好的程序在QtCreator能运行,但我在文件夹下打开却不行了呢?   Qt君:因为QtCreator运行下的程序附带了运行环境,而离开了QtCreator软件没有运行环境会报以下的一些错误(库找不到)。
Qt君
2019/09/30
2K0
程序打包问题及解决方法汇总
Qml组件小知识
介绍组件构造,销毁,动态加载小知识。 对象/组件都具有类似C++的构造函数和析构函数 onCompleted对象构造完成自动执行; onDestruction对象销毁前自动执行。 QtObject { Component.onCompleted: console.log("Completed") Component.onDestruction: console.log("Destruction") } 使用Loader加载组件 Component必须具有子空间才能实例化; onProgre
Qt君
2019/10/23
1.5K0
QML如何构建第三方包
模块是一种封装的方式,设计它的人可以单独更新模块内容,然后更新版本号,对使用模块的人没有影响。在项目中,不同窗口可以使用同一模块中的一些类型。
Jean
2018/11/14
2.1K0
QML如何构建第三方包
QtQuick系列教程之开发环境的搭建
Qt是一个跨平台应用程序和 UI 开发框架。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
xiangzhihong
2022/11/30
2.1K0
PySide_PyQT_QML
1、新建项目 1.1、新建工程 打开PyCharm,新建工程tempMonitor,如下: image-20210825202543995.png 1.2、添加python主程序 tempMonitor.py 主程序如下: import math import os import sys import time from pathlib import Path from PySide2.QtCore import Qt, QObject, Slot from PySide2.QtQml import QQm
大发明家
2021/12/06
1.7K0
vs2015安装失败,必需的组件失败_博图显示下位组件错误
大家好,又见面了,我是你们的朋友全栈君。 VS2008安装失败,组件安装失败的解决办法 之前安装过VS2008,二次安装时,提示组件安装失败 ![在这里插入图片描述](https://img-blo
全栈程序员站长
2022/10/29
1.1K0
vs2015安装失败,必需的组件失败_博图显示下位组件错误
QML知识-与Qt数据交互
使用Qml编程时,常常会与Qt之间进行数据访问或修改,本篇文章是介绍Qt与Qml的数据交互方法,一般有两种方法。
Qt君
2019/07/16
2K0
图片懒加载组件封装,加载时loading效果,加载失败暂时默认图片
组件代码 <template> <view class="easy-loadimage" :id="uid"> <image class="origin-img" :src="imageSrc" :mode="mode" @click="ui.showImg(imageSrc)" v-if="loadImg&&!isLoadError" v-show="showImg" :class="{'no-transition':!openTransition,'sh
用户10106350
2022/10/28
1.4K0
Qml引用Loader组件属性
  本例子使用Loader加载myComponent组件,然后通过Loader的item属性设置myComponent的value属性。
Qt君
2023/03/17
8640
Qml引用Loader组件属性
QML 用QSortFilterProxyModel实现搜索功能
c++部分的代码: #include <QQmlApplicationEngine> #include <QQmlContext> #include <QtQml> ... #include "bookmodel.h" int main(int argc, char *argv[]) { ... qmlRegisterType<BookModel>("Backend", 1, 0, "BookModel");//向qml注册类型 BookModel *bookModel = new
饶文津
2020/06/02
1.6K0
Qml控件之Spin加载中
  页面等待异步数据或正在渲染过程时,合适的加载动画会有效缓解用户的焦虑,从而提升用户体验。
Qt君
2023/03/17
7110
Qml控件之Spin加载中
点击加载更多

相似问题

QQmlApplicationEngine未完全卸载qml组件

149

错误: QQmlApplicationEngine无法加载组件“网络问题”

1105

CLion - QQmlApplicationEngine中的Qt5 QML无法加载组件

1331

QQmlApplicationEngine未能加载组件

12

QQmlApplicationEngine未能在Python上加载组件

115
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档