【QtQuick3D学习】使用Qt Design Studio设计UI并导入Qt Creator项目中使用——基于C++和Cmake

这篇具有很好参考价值的文章主要介绍了【QtQuick3D学习】使用Qt Design Studio设计UI并导入Qt Creator项目中使用——基于C++和Cmake。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新版本中项目文件全部放在了一起,见

  • 【QtQuick3D学习】使用Qt Creator创建Qt Design Studio项目测试运行——基于C++和Cmake
  • 【QtQuick3D学习】使用Qt Design Studio创建项目并使用Qt Creator打开测试运行——基于C++和Cmake

这里测试前后端分离,即使用Qt Design Studio设计前端和交互逻辑,C++写后端,处理数据

项目创建

1. Qt Creator

按照【QtQuick3D学习】使用Qt Creator创建Qt Quick项目测试运行——基于C++和Cmake创建项目,得到基本项目框架,或者使用之前创建好的项目

这里使用新创建的项目

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

2. Qt Design Studio

按照【QtQuick3D学习】使用Qt Design Studio创建项目并使用Qt Creator打开测试运行——基于C++和Cmake创建项目,得到基本项目框架,或者使用之前创建好的项目

这里使用之前创建的项目

文件导入

这里要将Qt Design Studio项目中的部分文件导入到Qt Creator项目中使用

文件复制

将Qt Design Studio项目DesignTest文件夹中的前三个文件夹复制到Qt Creator项目
cImportDesign中的qml文件夹(ps:需要先创建该文件夹)内

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

得到如下的文件结构

│  CMakeLists.txt
│  CMakeLists.txt.user
│  main.cpp
│  main.qml
│  qml.qrc
│
└─qml
    ├─asset_imports
    │      asset_imports.txt
    │
    ├─content
    │  │  App.qml
    │  │  CMakeLists.txt
    │  │  Screen01.ui.qml
    │  │
    │  └─fonts
    │          fonts.txt
    │
    └─imports
        │  CMakeLists.txt
        │
        └─DesignTest
            │  CMakeLists.txt
            │  Constants.qml
            │  DirectoryFontLoader.qml
            │  EventListModel.qml
            │  EventListSimulator.qml
            │  qmldir
            │
            └─designer
                    plugin.metainfo

qrc管理

在Qt Creator项目选择qml.qrc,右键选择添加现有文件夹

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

勾选qml文件夹

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

成功添加后可以在项目结构中看到增加的文件

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

代码修改

此时直接构建运行,还是原来的窗口,所以需要更改代码

找到main.cpp文件,将13行修改为下面的内容

    const QUrl url(QStringLiteral("qrc:/qml/content/App.qml"));

或者直接复制下面的代码替换

#include <QGuiApplication>
#include <QQmlApplicationEngine>


int main(int argc, char *argv[])
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
//    const QUrl url(QStringLiteral("qrc:/main.qml"));
    const QUrl url(QStringLiteral("qrc:/qml/content/App.qml"));
    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();
}

重新构建运行,在应用程序输出窗口得到下面的错误输出

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

直接点击蓝色部分跳转到错误处,或者自行打开App.qml文件

将报错处(第5行)修改为下面的内容

import "qrc:/qml/imports/DesignTest"

或者直接复制下面的代码替换

// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick 6.5
import "qrc:/qml/imports/DesignTest"

Window {
    width: mainScreen.width
    height: mainScreen.height

    visible: true
    title: "DesignTest"

    Screen01 {
        id: mainScreen
    }

}


重新构建运行,在应用程序输出窗口得到下面的错误输出

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

同上,修改错误处代码为

import "qrc:/qml/imports/DesignTest"

由于Screen01.ui.qml文件的特殊性,会跳转到设计窗口,不用担心

重新构建运行,在应用程序输出窗口得到下面的错误输出

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++

同样的跳转到错误处,将错误内容注释,根据内容推测,跟字体相关,暂时不用

pragma Singleton
import QtQuick 6.5
//import QtQuick.Studio.Application

QtObject {
    readonly property int width: 640
    readonly property int height: 480

    property string relativeFontDirectory: "fonts"

    /* Edit this comment to add your custom font */
    readonly property font font: Qt.font({
                                             family: Qt.application.font.family,
                                             pixelSize: Qt.application.font.pixelSize
                                         })
    readonly property font largeFont: Qt.font({
                                                  family: Qt.application.font.family,
                                                  pixelSize: Qt.application.font.pixelSize * 1.6
                                              })

    readonly property color backgroundColor: "#c2c2c2"


//    property StudioApplication application: StudioApplication {
//        fontPath: Qt.resolvedUrl("../../content/" + relativeFontDirectory)
//    }
}

运行结果

再次构建运行,得到应用窗口,与此前【QtQuick3D学习】使用Qt Design Studio创建项目并使用Qt Creator打开测试运行——基于C++和Cmake结果一致

qt design studio入门,QtQuick3D,数字人,学习,qt,ui,3d,c++文章来源地址https://www.toymoban.com/news/detail-789318.html

到了这里,关于【QtQuick3D学习】使用Qt Design Studio设计UI并导入Qt Creator项目中使用——基于C++和Cmake的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【QML-Qt Design Studio】

    Qt Design Studio是一个用于创建酷炫、优美UI的工具。 简单概括其功能就是让UI设计转换为qml,为工程师所用。 官方下载地址(建议) QT官方下载地址 断网安装,不需要的登录用户账户࿱

    2024年01月24日
    浏览(38)
  • 将Qt Design Studio中创建的UI文件导入Qt Creator中

    从Qt Design Studio中创建了UI文件,我这里是跟着官方文档示例做的一个ui文件Loginui1。 在Qt Creator中创建新的项目: 我这里将项目取名为Import_UI 创建好后的项目结构: 右键main.qml 选择Remove 这里确定,也可以勾选彻底删除,之后不会用到这个文件。 接着还要弹窗,我们选择 否

    2024年02月15日
    浏览(60)
  • QT - QML 遇到 module “QtQuick.Controls“ version 2.5 is not installed 的相关问题的解决策略

    问题由来, 在跟着视频敲代码时,需要用到 DelayButton 这个控件,因此需要导入相关的库模块 (跟着视频敲的是import QtQuick.Controls 2.5 ),但可能由于版本较低的原因没有安装这个库模块。根据输入提示,有个 import QtQuick.Controls 2.1,但是,这个库模块中并不支持 DelayButton 这个

    2024年02月12日
    浏览(43)
  • 使用qtquick调用python程序,pytorch

    使用qtquick调用python程序 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3pytorch 安装pytorch() 2.4QT 5.14.1 新版QT6.4,,6.5在线安装经常失败,而5.9版本又无法编译64位程序,所以就采用5.14.1这个用的比较多也比较稳定的一个版本。 QT编译器采用的是MSVC2017 64bit。 链接:https://pan.baidu.com/s/1ER98DPA

    2024年02月02日
    浏览(54)
  • Qt 3D 学习路径规划

    3D 用来做什么? 什么是Qt 3D,什么时候选择Qt 3D Opengl入门及学习资料 Qt 3D 整体介绍 官方实例 本系列文章只是记录本人学习Qt 3D的学习过程,其中很多都是借鉴网上搜寻的资料,其中有不对的,请积极指正。 3D是three-dimensional的缩写,在计算机里显示3d图形,就是说在平面里显

    2024年02月01日
    浏览(36)
  • 【QML】使用 QtQuick2的ListView创建一个列表(一)

    qtquick2版本和qtquick1版本分别提供了一个ListView组件供使用,两个组件在使用上和属性的提供上还是有比较大的差异的,因为qtquick2是新的,所以就以改版本为基础学习如何使用; 首先,要知道ListView提供了那些属性提供修改,那些是只读,各个属性的类型是啥,这些可用在Q

    2024年02月09日
    浏览(37)
  • ASIC设计学习笔记——使用Design Compiler进行综合

    综合是ASIC的前端设计中极为重要的步骤,所谓的综合过程,是指将行为级描述的电路、RTL级的电路转换到门级网表的过程。本文介绍使用Synopsys公司的Design Compiler作为工具完成综合的过程。 在ASIC开发中,当使用verilog等硬件描述语言完成对所需要的功能的代码编写和仿真后,

    2024年02月07日
    浏览(40)
  • VS studio 上开发Qt——Qt VS studio Tool的使用

    点击菜单栏【扩展】-【管理扩展】,在搜索框搜索“Qt”, 点击下载Qt Visual Studio Tools, 以2022版为例,需要关闭所有窗口才能执行安装 关闭VS后,弹出安装窗口,等待其安装完成 等待安装完成后,添加一个Qt Vertion后(前提已经安装了Qt开发环境)即可使用VS新建或者编译QT项目

    2024年04月12日
    浏览(42)
  • Qt Quick 3D学习:鼠标拾取物体

    (注意,开源版的 Qt Quick 3D 是狗都不用的 GPL 协议) Qt Creator 中有一个 picking 的示例,用于演示 View3D 中物体的拾取: 在示例基础上,我又加了一个简单的拖动效果,如图所示:   在使用 OpenGL 实现拾取的时候,我们可以用射线法。Qt Quick 3D 中封装了拾取操作,通过 View3D 的

    2024年02月10日
    浏览(39)
  • 《Easy3d+Qt+VTK》学习

    1、 资源下载:easy3d giuhub 2、解压缩 3、用qt打开CMakeLists.txt即可 4、点击项目,选择debug或者release,图中3处可自行选择,因为我的qt版本是6,easy3d默认是5,所以qt我没有配置编译 5、先点击执行cmake,在点击构建,即可生成lib和dll文件,同样的方法构建一下release版本,生成如下

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包