QWidget、QDialog、QMainWindow的异同点
在qt使用过程中,我们可以在创建项目的时候发现,它有以下三个选择QWidget QDialog QMainWindow 在使用过程中,他们没有特别大的区别,今天来讲讲散着的差异。
通过这个顺序可以发现,QWidget是老大,其他两个是他的小弟。其实QWidget是QDialog和QMainWindow的父,所以QDialog和QMainWindow其实是一对兄弟关系。他们俩拥有同一个父亲。
QWidget
在上面就有提到,QWidget是其他两种类的福清,由此可得他是 QWidget类是全部界面对象的基类。
这个类他具有许多的功能, 它可以从窗口系统接收鼠标、键盘和其它事件并可以对他们进行重写操作,可以根据我们的需求来改变他。每个窗口部件就像是我们所用的XY轴,我们可以在指定的位置设置指定的控件。并且在使用过程中,他的孩子窗口可以覆盖于自己的窗口之上。
QDialog
QDialog类主要应用于对话框中,他是对话框窗口的基类。同时他也有另外一个名字:模态。他与其他两个类不同于它具有阻塞点作用。如果调出了这个窗口,那他必是全屏的老大,只能操作他,不能操作别人。由此可见,他最好是用在短时间内需要进行通讯的窗口。但是QWidget也可以设置为阻塞状态,但是一般会用的过程中,最好使用QDialog。
QMainWindow
在创建好QMainWindow类,在ui界面就可以清楚地看到他与别人的不同,他提供了一个有菜单栏、工具栏、状态条的主应用程序窗口。类似于我们电脑上的文件资源管理器,可以通过设置上面的菜单栏、工具栏等等,他的用法类似于按钮,但是他可以分为多级使用。并且它具有固定的位置。
各个类的最佳适用场合:
若是作为嵌套,在其他的窗口之中或之上使用,推荐使用QWidget。
若是作为主窗体使用,推荐使用QMainWindow。
若是需要他霸屏,除了他不可以在别的界面上做操作,推荐使用QDialog。
- 点赞
- 收藏
- 关注作者
评论(0)