Qt:如何整合QMLQuick和C++?在哪里可以找到“项目文件”?

fnx2tebb  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(153)

我当然有文件证明:
https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html
不幸的是,这对我来说显然不够:

CONFIG += qmltypes
QML_IMPORT_NAME = io.qt.examples.backend
QML_IMPORT_MAJOR_VERSION = 1

上面写着:“将下列行添加到项目文件中:“
项目文件是什么意思?我猜是.pro文件。为什么这个文件项目不在我的Cmake列表中?我必须自己创建这个文件吗?怎么做?
我正在搜索.pro文件,但我在我的项目中找不到它。我找不到,在哪里可以创建这样的文件。我也曾试图粘贴到cMake列表上面的代码-但它不是。
我也看了一些教程,其中显示了如何集成QML和C++,我感到困惑,因为它看起来有一些机会来解决这个问题。在我看来,有些人跳过这样的事情,如添加.h和.cpp文件到cMake列表。
我也期待着如果你能解释我请,哪种方式连接Qml和C++我必须选择。当然,如果它不是这样的链接,我附在上面。我需要通用的解决方案,最常见的大多数Qt快速应用程序。

roqulrg3

roqulrg31#

如果你使用CMake,你应该使用qt_add_qml_module().这里是CMakeLists.txt的内容,我已经使用了后端.cpp/.h从你上面的链接.
要将其包含在QML中,请使用import untitledStackoverflow

cmake_minimum_required(VERSION 3.16)

project(untitledStackoverflow VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOMOC ON)

find_package(Qt6 6.2 COMPONENTS Quick REQUIRED)

qt_add_executable(appuntitledStackoverflow
    backend.cpp backend.h
    main.cpp
)

qt_add_qml_module(appuntitledStackoverflow
    URI untitledStackoverflow
    VERSION 1.0
    QML_FILES main.qml
)

target_link_libraries(appuntitledStackoverflow
    PRIVATE Qt6::Quick)

相关问题