qwidget qmainwindow qdialog 简要区别

原文网址:html

http://zxwmail.blog.163.com/blog/static/120947384201010611017114/web

 

     QWidget类是全部用户界面对象的基类。 窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,而且在屏幕上绘制本身的表现。每个窗口部件都是矩形,而且它们按Z轴顺序排列的。一个窗口部件能够被它的父窗口部件或者它前面的窗口部件盖住一部分。

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

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

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

     若是是顶级对话框,那就基于QDialog建立,若是是主窗体,那就基于QMainWindow,若是不肯定,或者有可能做为顶级窗体,或有可能嵌入到其余窗体中,则基于QWidget建立。
框架

固然了,实际中,你还能够基于任何其余部件类来派生。看实际需求了,好比QFrame、QStackedWidget等等。工具

http://www.kuqin.com/qtdocument/qwidget.html#details
http://www.kuqin.com/qtdocument/qmainwindow.html#details
http://www.kuqin.com/qtdocument/qdialog.html
spa

相关文章
相关标签/搜索