文档章节

qwidget qmainwindow qdialog 简要区别

racoon
 racoon
发布于 2011/05/15 23:21
字数 608
阅读 212
收藏 1

原文网址:

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

 

     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

本文转载自:

racoon
粉丝 14
博文 12
码字总数 1094
作品 0
湖州
私信 提问
Qt creator写Qt入门程序(超详细)

废话一下。第一、Qt是跨平台的,在windows下和Linux基本上是没什么区别的,只要用的是Qt带的库就可以。 第二、Qt c++编程和学校学的c++还有有一点区别的,学校学的c++是基础知识,Qt c++编程...

startstorm
2015/09/05
436
0
漫谈QWidget及其派生类(一)

对于QWidget,总觉得该写点什么。可又不知道具体该写些什么,思路又乱又杂。简单理理,简单写写,就叫漫谈吧 注意:我不知道本文写完会是什么样子,可能写着写着就没下文了。也可能各部分隔很...

晨曦之光
2012/05/08
241
0
QWidget 之 Secondary Windows 小记

起源 有网友问: 两个顶级窗体,前者会在任务栏显示,后者却不会,如何让后者也在任务栏显示? 首先提一下:这个效果是平台相关的,他的描述应该是Windows的结果,Linux下应该没有这个区别。...

晨曦之光
2012/05/08
258
0
认识QT ----- 多窗口以及窗口之间的传值

在很多软件中,都有这样一个设定:点击菜单栏中的某一个选项,软件将弹出一个新的窗体,用户在该窗体上进行简单的设置,于是主窗体会根据设定做出相应的改变。 这次我将来尝试一下,具体任务...

shzwork
昨天
11
0
QWidget设置背景图片后运行却不显示

我在qCreator下,新建了一个设计师界面类,我选择的是QWidget,然后我新建了一个QT资源文件,把要设置的背景图片放在资源文件中,然后我在UI中右击改变样式,为QWidget设置背景图片,在预览中...

newsyoung
2013/05/16
2.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

《Java并发编程的艺术》第二章--2.2--synchronized的实现原理与应用

在多线程并发编程中synchronized一直是元老级角色,很多人都会称呼它为重量级锁。但 是,随着Java SE 1.6对synchronized进行了各种优化之后,有些情况下它就并不那么重了 Java中的每一个对象...

我是警察叔叔
8分钟前
2
0
常见排序算法及对应的时间复杂度和空间复杂度

本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门:https://mp.weixin.qq.com/s/Jzdd...

李红欧巴
12分钟前
1
0
时间和空间的完美统一!阿里云时空数据库正式商业化

经过一段时间公测,得到广大客户的热烈支持,阿里云时空数据库已经于2019年9月10日正式商业化售卖! 产品介绍 时空数据库能够存储、管理包括时间序列以及空间地理位置相关的数据。我们的社会...

阿里云官方博客
16分钟前
1
0
什么是公有云、私有云和混合云云桌面,看完后涨知识了

前不久听到有用户在抱怨说“我就想部署个云桌面而已,怎么还有公有云、私有云和混合云这么个说法的,搞得我都混淆了”,那么到底什么是公有云、私有云和混合云云桌面的呢,他们的优缺点又是怎...

GZASD
19分钟前
1
0
6 个 K8s 日志系统建设中的典型问题,你遇到过几个?

导读:随着 K8s 不断更新迭代,使用 K8s 日志系统建设的开发者,逐渐遇到了各种复杂的问题和挑战。本篇文章中,作者结合自己多年经验,分析 K8s 日志系统建设难点,期待为读者提供有益参考。...

大涛学长
20分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部