Qt的Widgets项目

Qt的Widgets项目

  • 一、项目信息
  • 二、构建系统
    • [1. qmake= Qt 祖传老工具(Qt 4 / Qt 5 时代主流)](#1. qmake= Qt 祖传老工具(Qt 4 / Qt 5 时代主流))
    • [2. CMake= 现在 Qt 6 默认、官方推荐、最主流、最强大](#2. CMake= 现在 Qt 6 默认、官方推荐、最主流、最强大)
    • [3. CMake with Qt 5 Compatibility= 带 Qt5 兼容模式的 CMake](#3. CMake with Qt 5 Compatibility= 带 Qt5 兼容模式的 CMake)
    • [4. Qbs= Qt 出过的一个实验性构建工具(已淘汰)](#4. Qbs= Qt 出过的一个实验性构建工具(已淘汰))
  • 三、项目细节-继承类
    • [1. QWidget = 基础空白窗口(万能控件)](#1. QWidget = 基础空白窗口(万能控件))
    • [2. QMainWindow = 主窗口(你 OPC UA Viewer 用这个!)](#2. QMainWindow = 主窗口(你 OPC UA Viewer 用这个!))
    • [3. QDialog = 弹出对话框(弹窗)](#3. QDialog = 弹出对话框(弹窗))
    • 4.总之
  • 四、构建套件:默认MinGW
  • 五、项目管理设置。

一、项目信息

Qt Widgets

This wizard generates a Qt Widgets Application project. The application derives by default fromQApplication and includes an empty widget.

此向导会生成一个Qt Widgets应用程序项目。该应用程序默认继承自QApplication,并包含一个空小部件。

二、构建系统

1. qmake= Qt 祖传老工具(Qt 4 / Qt 5 时代主流)

最简单

配置文件:.pro

优点:轻量、写起来快

缺点:功能弱、大型项目不行

现状:过时了,Qt 6 慢慢不用了

你刚才的 OPC UA Viewer 用的就是 qmake + .pro 文件。

2. CMake= 现在 Qt 6 默认、官方推荐、最主流、最强大

配置文件:CMakeLists.txt

优点:跨平台、功能强、所有大项目都用它

Qt 6 唯一推荐

你以后新项目 必须用 CMake

3. CMake with Qt 5 Compatibility= 带 Qt5 兼容模式的 CMake

给老项目从 Qt5 迁到 Qt6用的

正常新项目 完全不需要

你做 OPC UA 项目 用不到

4. Qbs= Qt 出过的一个实验性构建工具(已淘汰)

已经 停止维护、被废弃

直接忽略,永远不要用

三、项目细节-继承类

1. QWidget = 基础空白窗口(万能控件)

最基础、最简单、干干净净的窗口。

2. QMainWindow = 主窗口(你 OPC UA Viewer 用这个!)

为软件主界面量身定做的窗口!

自带这些东西(现成的,不用自己写):

✅ 菜单栏(Menu Bar)

✅ 工具栏(Tool Bar)

✅ 状态栏(Status Bar)

✅ 中心部件区域(放树、表格、面板)

3. QDialog = 弹出对话框(弹窗)

弹出来让你点确定 / 取消 / 选择的窗口!

4.总之

QWidget = 空白基础控件

QMainWindow = 主窗口(带菜单工具栏)

QDialog = 弹出对话框

四、构建套件:默认MinGW

本质上就是GCC(GNU Compiler Collection,GNU编译器套件)。

五、项目管理设置。

此时可看到这个项目的汇总信息,还可以使用版本控制系统,可直接单击"完成"按钮完成项目的创建。

相关推荐
1104.北光c°2 小时前
Leetcode146 LRU缓存的三种写法 【hot100算法个人笔记】【java写法】
java·开发语言·笔记·算法·leetcode·hot100·lru缓存
花千树-0102 小时前
用 Java 实现 RAG 组件化:从 PDF 加载到智能问答全流程
java·开发语言·人工智能·langchain·pdf·aigc·ai编程
Dovis(誓平步青云)2 小时前
《QT学习第一篇:QT的概述与安装、信号与槽》
开发语言·qt·学习·功能详解
AI帮小忙2 小时前
CTF安全竞赛能力矩阵
开发语言·php
2301_789015622 小时前
C++11新增特性:列表初始化&左值引用&右值引用&万能引用&移动构造&移动赋值&引用折叠&完美转发
c语言·开发语言·c++·c++11
赫瑞2 小时前
Java中的进制转换
java·开发语言
lsx2024063 小时前
jQuery 删除元素
开发语言
紫金修道10 小时前
【DeepAgent】概述
开发语言·数据库·python
Via_Neo10 小时前
JAVA中以2为底的对数表示方式
java·开发语言