QT中QT Widgets Application中QWidget、QDialog及QMainWindow的区别

转载 2016年06月03日 16:23:11
    QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。 

    QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围 菜单、工具条和一个状态条。QMainWindow常常被继承,因为这使得封装中央部件、菜单和工具条以及窗口状态条变得更容易,当用户点击菜单项或者工具条按钮时,槽会被调用。

    QDialog类是对话框窗口的基类。对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。QDialog可以是模态对话框也可以是非模态对话框。QDialog支持扩展性并且可以提供返回值。它们可以有默认按钮。QDialog也可以有一个QSizeGrip在它的右下角,使用setSizeGripEnabled()。 

    QDialog 是最普通的顶级窗口。一个不会被嵌入到父窗口部件的窗口部件叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在Qt中,QMainWindow和不同的QDialog的子类是最普通的顶级窗口。

    如果是顶级对话框,那就基于QDialog创建,如果是主窗体,那就基于QMainWindow,如果不确定,或者有可能作为顶级窗体,或有可能嵌入到其他窗体中,则基于QWidget创建。
    当然了,实际中,你还可以基于任何其他部件类来派生。看实际需求了,比如QFrame、QStackedWidget等等。

Qt widgets application工程如何开启控制台窗口

1、vs里开启控制台,添加两句代码 #include AllocConsole(); freopen("CONOUT$","w+t",stdout); 2、Qt开启控制台 Qt widgets...
  • bladeandmaster88
  • bladeandmaster88
  • 2017年01月26日 23:54
  • 1184

QT GUI总结

QT提供了设计师工具,可以很方便的使用鼠标拖拽的方式绘制界面。绘制完毕后自动生成一个界面的.h文件(如ui_mainwindow.h),其中含有一个自动生成的Ui_MainWindow类,这个类中核心...
  • henreash
  • henreash
  • 2011年11月03日 17:08
  • 20766

Qt中的MDI多对话框程序框架

//全部基于MainWindow //----------------------------------------------------------------------      1 ...
  • sichuanpb
  • sichuanpb
  • 2016年05月13日 20:44
  • 987

Vs2010 环境下Qt5学习笔记(1)---Qt console Application

Qt一个脱离平台的GUI,好处不多说了,由于开始做毕设,考虑到MFC的纷繁复杂,主要是还是自己功力尚浅,所以为了避繁就简开始了Qt的学习,而由于项目开发的过程中需要用到许多第三方的东西,所以不能脱离V...
  • shiyanwei1989
  • shiyanwei1989
  • 2014年01月03日 21:59
  • 2852

Qt Widgets、QML、Qt Quick的区别

简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1.x 和 QtQuick 2.x 之间有什么区别?...
  • u011012932
  • u011012932
  • 2017年01月06日 19:15
  • 13923

QWidget、QDialog、QMainWindow的异同点

简述在分享所有基础知识之前,很有必要在这里介绍下常用的窗口-QWidget、QDialog、QMainWindow。熟悉Qt的同学都应该知道,在新建Qt Widgets项目进行类信息选择时会碰到它们,...
  • u011012932
  • u011012932
  • 2016年01月17日 20:18
  • 13336

Qt窗口之QMainWindow、QDialog、QWidget

在 Qt 中,我们将窗口和控件统称为部件(Widget)。窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最小化按钮、最大化按钮等;...
  • rl529014
  • rl529014
  • 2016年05月15日 21:31
  • 3310

【PyQt】Qt中QMainWindow, QWidget以及QDialog的区别和选择

PyQt中MainWindow, QWidget以及Dialog的区别和选择1. Qt界面分类在Qt Designer设计界面时,首先需要选择界面模板,主要分为三个类: 1. Main Window...
  • Mengwei_Ren
  • Mengwei_Ren
  • 2017年05月06日 23:49
  • 2678

QT中QMainWindow、QWidget、QDialog的区别

QT中QMainWindow、QWidget、QDialog的区别QT中QMainWindowQWidgetQDialog的区别 QMainWindow QWidget QDialog QMainWi...
  • x348722662
  • x348722662
  • 2016年03月21日 16:19
  • 5039

Qt中QWidget加入到父类QWidget不能显示的问题

最近忙活了半天发现了一个不容易发现的问题,比如我有一个父类的自定义Widget,并且自己设置了Pattle,但这个时候我如果再在当前Widget内部加入自己的widget就不能正常显示,但是加QPus...
  • aysycd
  • aysycd
  • 2014年05月30日 10:04
  • 988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT中QT Widgets Application中QWidget、QDialog及QMainWindow的区别
举报原因:
原因补充:

(最多只允许输入30个字)