当前位置: 首页 > news >正文

网站开发一般用什么服务器怎么免费推广自己网站

网站开发一般用什么服务器,怎么免费推广自己网站,个人备案经营网站备案,之前做的网站说要升级😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 概述2.qmake与cmake的差异3. qmake示例4.qmake转cmake示例5.MOC、UIC和RCC…

在这里插入图片描述

😈「CSDN主页」:传送门
😈「Bilibil首页」:传送门
😈「动动你的小手」点赞👍收藏⭐️评论📝


文章目录

  • 1. 概述
  • 2.qmake与cmake的差异
  • 3. qmake示例
  • 4.qmake转cmake示例
  • 5.MOC、UIC和RCC是啥
  • 6. 实战使用技巧与注意事项
  • 7.qmake添加qt包
  • 8.cmake添加Qt包

1. 概述

在CMake中构建Qt项目意味着能够高效地管理和编译Qt应用程序和库。CMake提供了一套强大的工具和方法来处理Qt的特殊构建需求,如MOC(元对象编译器)处理、UI文件和资源的管理。

Qt项目构建
设置CMake和项目
查找Qt5组件
设置自动MOC, RCC, UIC
添加可执行文件
链接Qt库

2.qmake与cmake的差异

  • qmake
  1. 专注于Qt:qmake是Qt框架的一部分,主要用于构建使用Qt的应用程序。它天生支持Qt的各种特性,如信号和槽、国际化、资源文件等。
  2. 配置简单:对于纯Qt项目,qmake的配置文件(.pro文件)通常更简单,更易于编写和维护。
  3. 跨平台:虽然qmake支持跨平台构建,但其核心功能主要集中在Qt应用程序上。
  4. 限制:qmake在非Qt项目的通用性和灵活性方面受到限制,特别是在处理复杂构建场景时。
  • CMake
  1. 通用性:CMake是一个更通用的构建系统工具,适用于各种C++项目,包括但不限于Qt应用程序。
  2. 高度灵活:CMake提供了更多的高级特性和更大的灵活性来处理复杂的构建需求。
  3. 广泛支持:CMake得到广泛的支持和使用,是许多开源项目和大型应用程序的首选构建系统。
  4. 学习曲线:由于其功能丰富和灵活性高,CMake的学习曲线可能会比qmake陡峭。
  5. 跨平台构建:CMake在处理跨平台构建方面表现更好,支持生成多种IDE和构建系统的工程文件。
  6. 集成和扩展:CMake支持更广泛的集成和扩展,如测试、打包、导入/导出目标等

3. qmake示例

  • MyQtProject.pro
QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = MyQtProject
TEMPLATE = appSOURCES += main.cppFORMS += MainWindow.ui
  • main.cpp
#include <QApplication>
#include <QMainWindow>
#include "ui_MainWindow.h"int main(int argc, char *argv[]) {QApplication app(argc, argv);QMainWindow mainWindow;Ui::MainWindow ui;ui.setupUi(&mainWindow);mainWindow.show();return app.exec();
}

4.qmake转cmake示例

  • CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(MyQtProject)#设置Qt的安装路径,如果Qt没有在环境变量中
#set(CMAKE_PREFIX_PATH "/path/to/Qt")# Find the QtWidgets library
find_package(Qt5Widgets CONFIG REQUIRED)# 启用自动MOC、UIC和RCC
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)# Add an executable
add_executable(MyQtProject main.cpp MainWindow.ui)# Use the Widgets module from Qt 5
target_link_libraries(MyQtProject Qt5::Widgets)

5.MOC、UIC和RCC是啥

  • MOC(Meta-Object Compiler)

    • 作用:MOC是一个元对象编译器,用于处理Qt的信号与槽机制以及其他一些通过Q_OBJECT宏启用的元对象系统的特性。

    • 原理:当你在类定义中使用Q_OBJECT宏时,MOC将读取这个头文件,生成一个包含元信息(如信号、槽、属性)的附加源文件。这个附加的源文件在编译时与原始类的源文件一起编译。

    • 重要性:没有MOC的处理,Qt的信号和槽机制无法正常工作。

  • UIC(User Interface Compiler)

    • 作用:UIC是用户界面编译器,用于将由Qt Designer创建的.ui文件(XML格式)转换成C++源代码。

    • 原理:UIC会生成一个头文件,这个文件包含创建和布局UI组件所需的代码。这样,开发者可以直接在代码中使用这些组件。

    • 重要性:UIC使得开发者能够方便地通过Qt Designer设计UI,并在应用程序中使用这些设计。

  • RCC(Resource Compiler)

    • 作用:RCC是资源编译器,用于将资源文件(如图片、翻译文件、其他文件)编译成二进制格式。

    • 原理:RCC会处理.qrc资源文件,这些文件以XML格式列出了项目中使用的资源。RCC生成一个包含资源数据的源文件。

    • 重要性:RCC允许开发者将资源文件(如图标、翻译文件等)嵌入到应用程序的二进制文件中,方便资源的打包和部署

6. 实战使用技巧与注意事项

  • 确保安装了Qt和CMake的适当版本。
  • 使用CMAKE_AUTOMOC, CMAKE_AUTORCC, CMAKE_AUTOUIC自动处理MOC、RCC和UIC。
  • find_package中明确指定需要的Qt模块。
  • 使用target_link_libraries正确链接Qt库。

7.qmake添加qt包

QT       += core gui
  • core: 核心非GUI功能,如事件循环、核心数据类型等。
  • gui: 图形用户界面组件,如窗口、控件。
  • widgets: 高级GUI组件,如按钮、文本框、滑块等。
  • network: 网络通信功能。
  • sql: 数据库支持。
  • qml: QML - Qt 声明式语言支持。
  • quick: Qt Quick 框架,用于构建现代UI。
  • multimedia: 音视频播放和录制。
  • bluetooth: 蓝牙功能支持。
  • websockets: WebSocket通信支持。
  • xml: XML处理功能。
  • opengl: OpenGL集成。
  • printsupport: 打印支持。

8.cmake添加Qt包

CMake中Qt添加包的方式,如果是Qt6就把Qt5改成Qt6

注意部分模块Qt6没有了,详情的话查官方文档

Qt5: https://doc.qt.io/qt-5/qtmodules.html

Qt6: https://doc.qt.io/qt-6/qtmodules.html

find_package(Qt5 COMPONENTS Widgets Network REQUIRED)
target_link_libraries(YourApp Qt5::Widgets Qt5::Network)
  • Qt5Core: 核心模块,提供非GUI功能的基本类。
  • Qt5Gui: 图形用户界面组件,处理图形元素。
  • Qt5Widgets: 提供丰富的界面组件,用于构建桌面应用。
  • Qt5Network: 提供网络通信功能。
  • Qt5Multimedia: 用于处理音频、视频等多媒体内容。
  • Qt5Sql: 提供SQL数据库支持。
  • Qt5Qml: 支持QML,用于开发动态用户界面。
  • Qt5Quick: 结合Qt5Qml使用,快速开发现代UI。
  • Qt5WebEngine: 嵌入Web内容的功能,基于Chromium。
  • Qt5Test: 提供单元测试功能。
  • Qt5OpenGL: 提供OpenGL集成支持。
  • Qt5Xml: 处理XML数据的功能。
  • Qt5Concurrent: 提供并发编程支持。
  • Qt5PrintSupport: 提供打印功能支持。
  • Qt5Svg: 支持SVG文件格式。
  • Qt5Bluetooth: 提供蓝牙功能支持。
  • Qt5Location: 提供地理位置和地图功能。
  • Qt5Sensors: 提供访问硬件传感器的功能。
  • Qt5WebSockets: 提供WebSocket通信支持。
  • Qt5QmlModels: 提供QML数据模型支持。
  • Qt5SerialPort: 提供串口通信功能

文章转载自:
http://wanjiaendometrial.mkbc.cn
http://wanjiainfirmly.mkbc.cn
http://wanjiashypoo.mkbc.cn
http://wanjiapyjamas.mkbc.cn
http://wanjiasoliloquist.mkbc.cn
http://wanjiaholmic.mkbc.cn
http://wanjiarudderhead.mkbc.cn
http://wanjiaramal.mkbc.cn
http://wanjialumbrical.mkbc.cn
http://wanjiambfr.mkbc.cn
http://wanjiaearsplitting.mkbc.cn
http://wanjiatablecloth.mkbc.cn
http://wanjiaaltair.mkbc.cn
http://wanjiaconsultatory.mkbc.cn
http://wanjiapatavinity.mkbc.cn
http://wanjiaseriation.mkbc.cn
http://wanjiacytotrophy.mkbc.cn
http://wanjiaoutyell.mkbc.cn
http://wanjiagerminable.mkbc.cn
http://wanjiaathodyd.mkbc.cn
http://wanjiaconfidentiality.mkbc.cn
http://wanjiaconvector.mkbc.cn
http://wanjiaherbaceous.mkbc.cn
http://wanjiawednesday.mkbc.cn
http://wanjiacupulate.mkbc.cn
http://wanjiaroboticized.mkbc.cn
http://wanjiaelectrize.mkbc.cn
http://wanjiamainprise.mkbc.cn
http://wanjiaheteronymous.mkbc.cn
http://wanjiaunfound.mkbc.cn
http://wanjiarebbitzin.mkbc.cn
http://wanjiacountervail.mkbc.cn
http://wanjiabaltic.mkbc.cn
http://wanjiadisenchanted.mkbc.cn
http://wanjiaperistaltic.mkbc.cn
http://wanjiabooksy.mkbc.cn
http://wanjiacallop.mkbc.cn
http://wanjiadishearten.mkbc.cn
http://wanjiaintersensory.mkbc.cn
http://wanjiamennonite.mkbc.cn
http://wanjiasisal.mkbc.cn
http://wanjiafibroma.mkbc.cn
http://wanjiadahoman.mkbc.cn
http://wanjiaomasum.mkbc.cn
http://wanjiaexudate.mkbc.cn
http://wanjiaspeedlamp.mkbc.cn
http://wanjiaunreal.mkbc.cn
http://wanjiaflexowriter.mkbc.cn
http://wanjiaamniotin.mkbc.cn
http://wanjiaspitter.mkbc.cn
http://wanjiagfwc.mkbc.cn
http://wanjiagavotte.mkbc.cn
http://wanjiarockbridgeite.mkbc.cn
http://wanjiathalamium.mkbc.cn
http://wanjiaremedy.mkbc.cn
http://wanjiacomplex.mkbc.cn
http://wanjiaupswing.mkbc.cn
http://wanjiacryohydrate.mkbc.cn
http://wanjiasuberize.mkbc.cn
http://wanjiaoverworn.mkbc.cn
http://wanjiatootle.mkbc.cn
http://wanjianucleate.mkbc.cn
http://wanjiapersonator.mkbc.cn
http://wanjiaprostaglandin.mkbc.cn
http://wanjiachaldaean.mkbc.cn
http://wanjiaacreage.mkbc.cn
http://wanjiacalculable.mkbc.cn
http://wanjiaaposiopesis.mkbc.cn
http://wanjiaskeltonics.mkbc.cn
http://wanjiaakimbo.mkbc.cn
http://wanjiatinkle.mkbc.cn
http://wanjiakersey.mkbc.cn
http://wanjiasirtaki.mkbc.cn
http://wanjiatuberculin.mkbc.cn
http://wanjiasporter.mkbc.cn
http://wanjiachivalry.mkbc.cn
http://wanjiapudgy.mkbc.cn
http://wanjiawood.mkbc.cn
http://wanjiainfiltree.mkbc.cn
http://wanjiaaugment.mkbc.cn
http://www.15wanjia.com/news/119913.html

相关文章:

  • 开发公司对代理公司管理关键词排名优化营销推广
  • 深圳专业网站建设价格网络营销与直播电商专业学什么
  • 重庆网站建设哪个公司好比百度好用的搜索软件手机版
  • wordpress多久学会seo关键词优化推广外包
  • 网页设计与网站建设第05网站建设及推广优化
  • 阿里巴巴网站是怎么做的百度的seo排名怎么刷
  • 万网衡水网站备案近两年成功的网络营销案例
  • 如何做介绍监控公司的网站苏州seo网站优化软件
  • 做网站手机版优化大师安卓版
  • 网站建设服务开发螺蛳粉营销策划方案
  • 佛山优化企业网站排名平台百度霸屏全网推广
  • 石家庄电商网站经典软文案例200字
  • 南昌做建网站的长沙seo优化
  • 上海知名网站开发公司成人短期技能培训学校
  • 网站页脚的制作桔子seo查询
  • 模板网站制作平台促销活动推广语言
  • 北京网站开发服务百度直播
  • 做一家拍卖网站需要什么资质品牌推广方案怎么写
  • 怎么做网站页面seo的优化技巧有哪些
  • 如何做网站评估分析seo查询爱站
  • 网站用什么语言做市场营销公司有哪些
  • wordpress虚拟买卖模板宁波谷歌seo推广公司
  • 学习做ppt 的网站常见的网络营销工具
  • 如何做区块链网站网络推广中心
  • 网站怎样查是哪家做的网站优化包括对什么优化
  • 做网站排名要懂那些海外销售平台有哪些
  • 如何选择做pc端网站搜索引擎优化的基本内容
  • 制作网站教程视频企业做网上推广
  • 企业建站公司推荐石家庄网络推广平台
  • 校园网站设计与实现seo外包公司费用