码上通QT实战01--创建项目

1、QT项目的构成

Qt项目通常由多个关键组件和文件构成,这些组件共同协作以实现应用程序的功能。以下是Qt项目的主要构成部分:
项目文件(.pro或.qmake)

项目文件是Qt项目的核心配置文件,通常以.pro或.qmake为扩展名。它定义了项目的构建规则、依赖关系、源文件列表以及其他构建选项

cpp 复制代码
QT += core gui
TARGET = MyApp
SOURCES += main.cpp mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui

源代码文件

Qt项目的源代码通常包括C++文件(.cpp)和头文件(.h)。这些文件实现了应用程序的逻辑和功能。主函数通常位于main.cpp中,而其他类定义和实现分布在各自的头文件和源文件中。

用户界面文件(.ui)

Qt Designer生成的UI文件(.ui)用于定义应用程序的图形用户界面。这些文件是XML格式的,可以通过Qt Designer工具进行可视化编辑,也可以通过uic工具在构建时转换为C++代码。

资源文件(.qrc)

资源文件(.qrc)用于将图像、图标、翻译文件等资源嵌入到应用程序中。这些文件在编译时会被转换为二进制数据,并链接到最终的可执行文件中

其他辅助文件

Qt项目可能还包括其他辅助文件,如配置文件(.ini)、文档(.md)、测试文件等,具体取决于项目的需求和复杂性。

通过合理组织这些组件,Qt项目可以高效地构建、维护和扩展。

2、开发环境

本项目采用QT6.9.3,IDE采用QTCREATOR18.0,数据库采用sqlite3,软件的安装,环境的配置在此忽略。

3、开始创建

1、创建项目


2、QWindow 与 QWidget 的比较

QWindowQWidget 是 Qt 框架中用于界面开发的两个核心类,分别属于不同的层级,适用于不同的场景。以下是两者的主要区别和适用场景:

功能定位

  • QWindow:属于底层窗口抽象,直接管理操作系统原生窗口(如 X11/Wayland 窗口、Win32 HWND 等)。它不包含任何用户界面组件,仅提供窗口的基本属性和事件处理(如尺寸、位置、输入事件)。适用于需要直接操作原生窗口或开发无装饰界面的场景(如 OpenGL 渲染窗口)。

  • QWidget:基于 QWindow 的高层封装,提供完整的用户界面组件(如按钮、文本框等)和布局管理。内置样式绘制、焦点管理等功能,适合传统桌面应用程序开发。

依赖关系

  • QWindow 是 QWidget 的底层基础。每个 QWidget 最终会关联一个 QWindow(通过 winId() 获取),但 QWindow 可以独立存在。
  • QWidget 依赖 QApplication 的事件循环,而 QWindow 可与 QGuiApplication 配合使用(无需完整的 QApplication)。

性能与开销

  • QWindow 更轻量,适合高性能场景(如游戏、视频播放器)。直接操作原生窗口减少中间层开销。
  • QWidget 因包含组件树和样式处理,开销较大,但开发效率更高。

典型用例

  • QWindow

    • 3D 图形渲染(如 Qt Quick 或 OpenGL 上下文管理)。
    • 需要跨平台原生窗口句柄的集成(如嵌入第三方库窗口)。
  • QWidget

    • 表单应用程序(如配置工具、数据管理界面)。
    • 需要复杂布局和交互控件的场景

4、设计UI

1、设计窗体

2、 启动参数

3、启动项目

复制代码
原创不易,打字不易,截图不易,撸码不易,整理不易,走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,灌水,请动动你的金手指,祝您早日实现财务自由。
相关推荐
历程里程碑2 小时前
LeetCode128:哈希集合巧解最长连续序列
开发语言·数据结构·c++·算法·leetcode·哈希算法·散列表
毕加锁2 小时前
基于MindIE的SDXL多模态大模型推理加速指南(从部署到50it_s优化)
开发语言
Yeniden2 小时前
Deepeek用大白话讲解 --> 状态模式(企业级场景1,自动售货机2,订单状态3,消除if-else4)
java·开发语言·状态模式
yzp-2 小时前
记录一个死锁异常--循环打印 AB go语言
开发语言·后端·golang
tryxr3 小时前
Java 中 this 关键字的使用场景
java·开发语言·类与对象·this关键字
写代码的【黑咖啡】3 小时前
面向对象编程入门:从类与对象到构造函数
开发语言·python
沐知全栈开发3 小时前
Perl POD 文档
开发语言
Dargon2883 小时前
Simulink的回调函数(二)
开发语言·matlab·simulink·mbd软件开发
ICT技术最前线3 小时前
路由策略优化基本思路和方法
开发语言·php