QtQuick-第一个程序

新建Qt Quick Application。

main.cpp(保持原有的即可):

#include <QGuiApplication>
#include <QQmlApplicationEngine>

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

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

	return app.exec();
}

main.qml:

import QtQuick

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    Image{
        id:logo
        source:"qrc:/images/img.png"
        anchors.centerIn:parent
    }

    MyText{
        anchors.top:logo.bottom
        anchors.horizontalCenter:logo.horizontalCenter
    }
}

新建MyText.qml:

import QtQuick

Text{
    text: qsTr("这是一行绿色的文字")
    color: "green"
}

新建images.qrc(注意设置CMAKE_AUTORCC并添加到CMakeLists.txt的qt_add_executable):

<RCC>
    <qresource prefix="/">
        <file>images/img.png</file>
    </qresource>
</RCC>

CMakeLists.txt:

cmake_minimum_required(VERSION 3.16)

project(MainWindow VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 6.4 REQUIRED COMPONENTS Quick)

qt_standard_project_setup()

set(CMAKE_AUTORCC ON)

qt_add_executable(appMainWindow
    main.cpp
    images.qrc
)

qt_add_qml_module(appMainWindow
    URI MainWindow
    VERSION 1.0
    QML_FILES Main.qml
    QML_FILES MyText.qml
    RESOURCES images.qrc

)

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
set_target_properties(appMainWindow PROPERTIES
#    MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appMainWindow
    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(appMainWindow
    PRIVATE Qt6::Quick
)

include(GNUInstallDirs)
install(TARGETS appMainWindow
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

效果

在这里插入图片描述

另外如果只进行UI设计,可以新建Qt Quick UI项目,避免了编译C++程序,可以更快地预览效果。
在这里插入图片描述

相关推荐

  1. 第一Rust程序

    2024-07-22 19:50:02       23 阅读
  2. 开发第一SpringBoot程序

    2024-07-22 19:50:02       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 19:50:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 19:50:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 19:50:02       45 阅读
  4. Python语言-面向对象

    2024-07-22 19:50:02       55 阅读

热门阅读

  1. SAP 如何修改统驭科目类型

    2024-07-22 19:50:02       15 阅读
  2. 部署Mojo模型:生产环境中的智能自动化

    2024-07-22 19:50:02       15 阅读
  3. Linux的shell的date命令

    2024-07-22 19:50:02       14 阅读
  4. Haproxy

    Haproxy

    2024-07-22 19:50:02      15 阅读
  5. 免费云服务器

    2024-07-22 19:50:02       18 阅读
  6. 智慧文元宇宙

    2024-07-22 19:50:02       14 阅读
  7. Redis和mysql如何保持数据一致?

    2024-07-22 19:50:02       12 阅读