【Qt】窗口和对话框区别、主窗口和二级窗口区别、QMainWindow和QDialog区别

窗口和对话框(Window and Dialog Widgets)

未嵌入在父界面中的界面称为窗口。(通常,窗口具有边框和标题栏,尽管也可以使用合适的窗口标志创建没有此类标志的窗口)。

在Qt中,QMainWindowQDialog的各个子类是最常见的窗口类型。

在应用程序中,窗口提供构建用户界面的屏幕区域。Windows 在视觉上将应用程序彼此分开,并且通常提供窗口修饰,允许用户根据自己的喜好调整应用程序的大小和位置。Windows通常集成到桌面环境中,并在某种程度上由桌面环境提供的窗口管理系统管理。例如,选中应用程序的窗口会显示在任务栏中。

总结

QMainWindow和QDialog都是window,不是普通界面。

主窗口和二级窗口(Primary and Secondary Windows)

任何没有父亲的QWidget都会成为一个窗口,并且在大多数平台上都会列在桌面的任务栏中。一个应用程序通常只需要一个窗口,即主窗口。

此外,具有父亲的 QWidget 可以通过设置 Qt::Window 标志成为窗口。窗口管理系统通常会将此类二级窗口堆叠在其各自的父窗口之上,并且没有自己的任务栏条目。

QMainWindow 类在其构造函数中设置Qt::Window标志,因为它被设计用作窗口并提供子界面不需要的功能。

总结
QmainWindow是主窗口,QDialog其实是二级窗口,应该就是通过继承QWidget 并设置 Qt::Window 标志实现。

Main Windows and Dialogs(主窗口和对话框)

应用程序主窗口通过子类化 QMainWindow 提供用于构建应用程序主要用户界面的框架。QMainWindow有自己的布局,可以在其中添加菜单栏、工具栏、可停靠的小部件和状态栏。中心区域可以被任何类型的QWidget占据。

对话框窗口被用作二级窗口,为用户提供选项和选择。对话框是通过子类化 QDialog 并使用小部件和布局来实现用户界面的创建。此外,Qt还提供了许多现成的标准对话框,可用于文件或字体选择等标准任务。

总结
QmainWindow是主窗口,QDialog其实是二级窗口

相关推荐
cpp_learners26 分钟前
QML与C++交互之创建自定义对象
c++·qt·qml
尘世闲鱼27 分钟前
解数独(C++版本)
开发语言·c++·算法·解数独
纨妙1 小时前
python打卡day59
开发语言·python
wuxuanok1 小时前
Web后端开发-请求响应
java·开发语言·笔记·学习
Sally璐璐2 小时前
IPSAN 共享存储详解:架构、优化与落地实践指南
开发语言·php
像风一样的男人@2 小时前
python --货车装厢问题
开发语言·python
Humbunklung2 小时前
Rust枚举:让数据类型告别单调乏味
开发语言·后端·rust
Y1nhl2 小时前
力扣_链表_python版本
开发语言·python·算法·leetcode·链表·职场和发展
OEC小胖胖2 小时前
深入理解 Vue.js 响应式原理及其在 Web 前端开发中的应用
开发语言·前端·javascript·vue.js·web
qq_401700412 小时前
C语言中位运算以及获取低8位和高8位、高低位合并
c语言·开发语言·算法