父窗口和父类的一些理解
来源:互联网 发布:大数据分析建模 编辑:程序博客网 时间:2024/06/04 18:22
QObject是Qt所有类的基类,是Qt Object Model的核心。QWidget类是所有用户界面对象的基类,包括QMainWindow,QDialog等。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。
QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围 菜单、工具条和一个状态条。QMainWindow常常被继承,因为这使得封装中央部件、菜单和工具条以及窗口状态条变得更容易,当用户点击菜单项或者工具条按钮时,槽会被调用。
QDialog类是对话框窗口的基类。对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。QDialog可以是模态对话框也可以是非模态对话框。QDialog支持扩展性并且可以提供返回值。它们可以有默认按钮。QDialog也可以有一个QSizeGrip在它的右下角,使用setSizeGripEnabled()。
一个没有嵌入到父窗口中的窗口称为顶级窗口,一个不会被嵌入到父窗口部件的窗口部件叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在Qt中,QMainWindow和不同的QDialog的子类是最普通的顶级窗口,而QWidget可以作为顶级窗口,也可以嵌入父窗口。
如果是顶级对话框,那就基于QDialog创建,如果是主窗体,那就基于QMainWindow,如果不确定,或者有可能作为顶级窗体,或有可能嵌入到其他窗体中,则基于QWidget创建。
当然了,实际中,你还可以基于任何其他部件类来派生。看实际需求了,比如QFrame、QStackedWidget等等。
如果不是主窗口,在创建窗口对象的时候一般会指定一个父窗口。因为Qt的设计是父窗口中会记录它的子窗口,当父窗口销毁时,会先销毁它的子窗口,这样如果是new出来的对象也不用自己手动释放了。而且如果不指定父窗口,子窗口的位置也不好控制什么的….(Ps:注意区分 父类 与 父窗口)
- 父窗口和父类的一些理解
- javascript(js)对子窗口和父窗口的一些操作方法
- 对windows窗口类型的一些实验和理解
- MFC窗口重绘的一些理解
- mount的一些理解和一些摘录
- 视口和窗口的理解方法
- 对android上下文和窗口的理解
- 父窗口刷新子窗口 和子窗口刷新父窗口的js
- 父窗口刷新子窗口 和子窗口刷新父窗口的js
- 父窗口刷新子窗口 和子窗口刷新父窗口的js
- 父窗口和所有者窗口
- 父窗口和所有者窗口
- 父窗口和所有者窗口
- 父窗口和子窗口
- 框架和架构的一些的理解
- 父窗口和子窗口的数据交互
- window.open子窗口和父窗口的关系
- iframe 父窗口和子窗口的调用方法
- <C++ Primer_5th>习题_1.16
- 0x0 Exploit Tutorial: 缓冲区溢出 – Vanilla EIP Overwrite
- Fragemnt(静态添加Fragment,简单的动态添加Fragment)
- Linux中配置MySQL主从服务
- JDBC完成CRUD
- 父窗口和父类的一些理解
- Windows环境安装python&&Selenium
- 编程范式23 笔记
- caffe mnist训练报错:Cannot create Cublas handle
- WebSocket地图实时更新位置
- JAVA和C# 3DES加密解密
- 一个简单的堆排序(heapsort)
- ROS安装教程
- Ubuntu MySQL设置编码