原文网址:
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等等。
分享到:
相关推荐
QWidget,QMainWindow和QDialog的区别.
QMainWindow主窗口为用户提供了一个应用程序框架,它有自己的布局,可以在布局中添加控件。 窗口类型介绍 PyQt5中,主要使用以下三个类来创建窗口,可以直接使用,也可以继承后再使用 QMainWindow QWidget QDialog ...
PyQt中MainWindow, QWidget以及Dialog的区别和选择 1. Qt界面分类 在Qt Designer设计界面时,首先需要选择界面模板,主要分为三个类: Main Window Widget Dialog 2. 三种模板的区别(官方文档介绍) MainWindow ...
这里帮大家解决个小难题~环境变量需要你的本机配好~直接就能跑~祝君好运~
在PyQt5中,提供了三种窗口类型,QMainWindow,QWidget和QDialog,三个类都是用来创建窗口的,可以直接使用,也可以继承后再使用 QMainWindow:包含菜单栏,工具栏,状态栏和标题栏。是最常见的窗口形式,通常被用作...
实现把QWidget嵌入到QML中,实现方案已经在博客中说明。
qwidge窗口嵌入qml窗口, qml调用qwidget方法 qwidget发送信号传递数据 qml信号处理以及注意事项
问题的来源是别人已经写好了一个项目需要界面美化,项目初期构建的时候没有考虑好,最底层的窗口是QMainWindow,在自定义边框的时候无法使用通常的继承QWidget的方法。本程序使用了在最底层再创建一个含有自定义边框...
自实现的一个翻转QWidget的demo;采用QPainter和QPropertyAnimation实现,是一个学习动画设计的高效demo
Python3.x+Pyqt5实现主窗体(QMainWindow类)里的分割器QSplitter动态载入子窗体(QWidget类),还实现了导航栏抽屉效果。
(续2)Python3.x+Pyqt5实现主窗体(QMainWindow类)里的分割器QSplitter动态载入子窗体(QWidget类),实现了导航栏抽屉效果
QWidget控件在QML中使用的控件 具体使用方法在我的博客中详细说明
QWidget嵌入qml,实现QWidget与qml的交互、无标题栏、可拉伸、可拖动、可切换qml页面
QWidget嵌入Qml界面的小Demo,比较简单的代码,可以提供大家参考!但是还是有一些问题需要大家解决,如果有一些BUG能告知最好
Qt窗口设置背景,解决了QWidget,QMainWindow等,的背景问题
使用Qt Designer 设计界面,但在Qt Designer里设置好样式表,使用快捷键 shift + alt + r 进行预览,样式都是正常的,但程序运行起来,样式就不生效了。两种解决方法: 详情可以到文章里看一下。 ...
定制QWidget标题栏的示例,并含有qss配置QTabWidget样式的示例,以及展示如何显示一个不在状态栏出现的窗口
QT 2个QWidget UI 来回切换例子,并且ui界面可自行单独处理单独cpp和h文件,相互不影响。
两个QWidget互相交换显示