Widget对应QWidget类的用法

来源:互联网 发布:vb能做到人脸识别吗 编辑:程序博客网 时间:2024/06/06 08:42

Widget 是使用Qt编写的图形用户界面(GUI)应用程序的基本生成模块。每个GUI组件,如按钮,标签,文本编辑器都是一个Widget,并可以放置在现有的用户界面中作为单独的窗口显示。每种类型的组件都是由QWidget的特殊子类提供的,而QWidget自身又是QObject的子类。

QWidget是所有Qt GUI界面类的基类,它接受鼠标,键盘及其他窗口事件,并在显示器上绘制自己。

窗口部件的窗口标识(window flags)定义了窗口部件的窗口类型和窗口提示。窗口类型指定了窗口部件的窗口系统属性,一个窗口部件只有一个窗口类型。窗口提示定义了顶层窗口的外观,一个窗口可以有多个提示(提示能够进行按位或操作)。
没有父窗口部件的Widget对象是一个窗口,窗口通常具有一个窗口边框(frame)和一个标题栏。QMainWindow和所有的QDialog对话框之类都是经常使用的窗口类型,而子窗口部件通常处在父窗口部件的内部,没有窗口边框和标题栏。

QWidget窗口部件的构造函数为:

QWidget(QWidget *parent = 0, Qt::WindowFlags f = 0)

其中,参数parent指定了窗口部件的父窗口部件,如果parent=0(默认值),则新建的窗口部件将是一个窗口;否则,新建的窗口部件是parent的子窗口部件(是否是一个窗口还需要第二个参数决定)。如果新窗口部件不是一个窗口,则它将出现在父窗口部件的界面内部。参数f指定了新窗口部件的窗口标识,默认值是0,即Qt::Widget。

QWidget定义的窗口标识为Qt::WindowFlags 枚举类型,它们的可用性依赖于窗口管理器是否支持它们。

QWidget不是一个抽象类,它可用作其他Widget的容器,并很容易作为子类来创建定制Widget。它经常用于创建放置其他Widget的窗口。

QObject可使用父窗口对象创建Widget以表明其所属关系,这样就可以确保删除不再使用的对象。使用Widget,这些父子关系就有了更多的意义,每个子类都显示在其父级所拥有的屏幕区域内。也就是说,当删除窗口时,其包含的所有Widget也都自动删除。

0 0
原创粉丝点击