Qt 问题:图像未加载

问题描述 投票:0回答:1

我是 Qt 的新手,我正在通过简单的基本示例进行探索 我尝试在我的窗口中显示一个简单的图像,但是,除非是一个空窗口,否则什么都不会出现 我把我的图像放在一个资源文件 qrc 中,我用它的确切路径提供源

Main.qml

import QtQuick 2.4
import QtQuick.Window 2.4

Window {
    width: 400
    height: 400


        Image {
            id: image
            x: 0
            y: 0
            width: 400
            height: 400
            source: "1.PNG"
            fillMode: Image.PreserveAspectFit
        }

    visible: true
}

图片.qrc

<RCC>
    <qresource prefix="/pics">
        <file>1.PNG</file>
    </qresource>
</RCC>

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>


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

    QQmlApplicationEngine engine;
    const QUrl url(u"qrc:/Hello_Word/Main.qml"_qs);
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreationFailed,
        &app, []() { QCoreApplication::exit(-1); },
        Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

如果你能帮忙,请

如果您需要更多信息,非常高兴 m 使用带有 minGW 编译器的 Q6

qml qt-creator q
1个回答
0
投票

基于这个answer,你要对你的项目做如下修改:

CMakeLists.txt

cmake_minimum_required(VERSION 3.16)

project(ExplainQML VERSION 0.1 LANGUAGES CXX)


set(CMAKE_CXX_STANDARD_REQUIRED ON)
########add this line to compile qrc file to rcc
set(CMAKE_AUTORCC ON)                   
########


find_package(Qt6 6.4 REQUIRED COMPONENTS Quick)

qt_standard_project_setup()

qt_add_executable(appExplainQML
    main.cpp
    #########add the resource file to your project
    res.qrc
    #############
)

qt_add_qml_module(appExplainQML
    URI ExplainQML
    VERSION 1.0
    QML_FILES Main.qml
)

set_target_properties(appExplainQML PROPERTIES
    MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

target_link_libraries(appExplainQML
    PRIVATE Qt6::Quick
)

install(TARGETS appExplainQML
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

source
中的
main.qml
改为:

source: "qrc:/pics/1.PNG"

你的

qrc
文件也需要改成以下内容:

<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/pics/">
    <file alias="1.PNG">pics/1.PNG</file>
</qresource>
</RCC>
© www.soinside.com 2019 - 2024. All rights reserved.