Qt Widget介绍

你说的是 Qt 新建项目时,系统自动生成的那个 Widget 类对吧?我给你讲清楚它到底是啥、怎么来的、干啥用的。

一、Widget 是什么?

QWidget 是 Qt 里所有界面控件的"祖宗"。

按钮、输入框、窗口、标签......全都是它的子类。

你新建项目时,Qt 自动给你生成一个:

cpp 复制代码
class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
private:
    Ui::Widget *ui;
};

它就是你的主窗口。

二、系统为什么自动生成它?

因为 Qt 程序必须有一个顶层窗口 ,否则界面显示不出来。

系统自动生成 Widget ,就是给你一个现成可用的主窗口,你直接往里加按钮、布局就行。

三、它是怎么"自动生成"的?

你新建项目时选:
Qt Widgets Application

Qt Creator 就会自动生成 3 个文件:

  • widget.h
  • widget.cpp
  • widget.ui (可视化界面文件)

这是 Qt 的默认模板,为了让你快速开始写界面。

四、它和对象树的关系(重点)

这个 Widget 就是对象树的根节点 。

你在上面放的所有控件(按钮、输入框),它都是父对象。

所以:

  • 关闭窗口 → Widget 销毁
  • 所有子控件自动跟着销毁(内存安全)
五、一句话总结

Widget = Qt 自动给你的主窗口 + 对象树根节点

不用你自己写,直接用就行。

相关推荐
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁5 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超5 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int5 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
慧都小项5 天前
当边缘AI上产线:QtitanDocking 如何让工业 HMI 实现多视图协同
人工智能·qt·ui·边缘计算·qt6.3
CoderYanger5 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读6 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie6 天前
Linux进程控制四大核心操作
linux·开发语言