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...

QT中QWidget、QDialog与QMainWindow的区别

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件...

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

PyQt中MainWindow, QWidget以及Dialog的区别和选择1. Qt界面分类在Qt Designer设计界面时,首先需要选择界面模板,主要分为三个类: 1. Main Window...

QT中QWidget、QDialog及QMainWindow的区别

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件...
  • aqxin
  • aqxin
  • 2011年10月21日 20:56
  • 727

QT——QWidget、QMainWindow、 QDialog用法区别解析

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件...

Qt-Base Class?QMainWindow?QWidget?QDialog

转载http://blog.csdn.net/ikahn/article/details/6706284 在创建Qt Gui Application时,总会让你选择在QWidget,QMainWin...

Qt窗口之QMainWindow、QDialog、QWidget

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

QWidget,QMainWindow和QDialog的区别

  • 2014年07月05日 16:34
  • 17KB
  • 下载

QWidget QMainWindow QDialog 之间的区别

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部...
  • xbcReal
  • xbcReal
  • 2016年10月20日 18:13
  • 139

QWidget,QMainWindow和QDialog的区别

在创建Qt Gui Application时,总会让你选择在QWidget,QMainWindow和QDialog中选择一个Base Class。 这三个类具体有什么区别呢?在Qt的手册和网上找...
  • ikahn
  • ikahn
  • 2011年08月21日 16:22
  • 6439
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT中QT Widgets Application中QWidget、QDialog及QMainWindow的区别
举报原因:
原因补充:

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