【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其实是二级窗口

相关推荐
blasit1 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1236 天前
matlab画图工具
开发语言·matlab
dustcell.6 天前
haproxy七层代理
java·开发语言·前端
norlan_jame6 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone6 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054966 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月6 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237176 天前
C语言-数组练习进阶
c语言·开发语言·算法
Railshiqian6 天前
给android源码下的模拟器添加两个后排屏的修改
android·开发语言·javascript