QWidget的使用

一、QWidget介绍

QWidget是用户操作的原子接口,它从窗口系统中接收鼠标,键盘以及其他事件,并绘制图形界面。QT提供的默认窗口基类只有QMainWindow、QWidget、和QDialog这三种,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,而它们全部继承自QWidget。不仅如此,所有的窗口部件都继承自QWidget,继承关系如图所示。



 二、使用

2.1 QWidget类的构造函数如下:

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

其中参数parent指向父窗口。如果这个参数为0,则该窗口就成为一个顶级窗口。当父窗口被删除时,子窗口也将被删除。参数f是构造窗口的标志,主要用于控制窗巳的类型和外观等。它可以被设置为以下值

2.2 独立窗口
窗口构造的时候如果有 Qt::Window 标志,那么它就是一个独立窗口,否则就是一个依附于其他独立窗口的窗口部件。顶级窗口一定是独立窗口,但独立窗口不一定是顶级的,它可以有父窗口,当父窗口被析构时它也会随之被析构。独立窗口一般有自己的外边框和标题栏,可以有移动、改变大小等操作。一个窗口是否为独立窗口可用下面的成员函数来判断:
 

bool isWindow() const; // 判断是否为独立窗口 

2.3 几何参数
这里的几何参数指的是窗口的大小和位置。一个窗口有两套几何参数,一套是窗口外边框所
占的矩形区域,另一套是窗口客户区所占的矩形区域。所谓窗口客户区就是窗口中去除边框和标题栏用来显示内容的区域。
这两套几何参数分别由两个 QRect 型的属性代表,相关的成员函数如下:
 

const QRect &geometry() const; // 获取客户区几何参数
void setGeometry(int x, int y, int w, int h); // 设置客户取几何参数
void setGeometry(const QRect &rect); // 设置客户区几何参数
QRect frameGeometry() const; // 获取外边框几何参数 

三、实例

#include "widget.h"

#include <QApplication>

#include<QtWidgets>

int main(int argc, char *argv[])

{

    QApplication a(argc,argv);

    QWidget w(0,Qt::Widget//默认窗口类型

              //              | Qt::FramelessWindowHint//没有边框的窗口

              //              | Qt::WindowStaysOnTopHint  //总在最上面的窗口

              //              | Qt::CustomizeWindowHint  //自定义窗口标题栏,

              //              | Qt::WindowTitleHint  //显示窗口标题栏

              //              | Qt::WindowSystemMenuHint  //显示系统菜单

              //              | Qt::WindowMinimizeButtonHint  //显示最小化按钮

              //              | Qt::WindowMaximizeButtonHint  //显示最大化按钮

              //              | Qt::WindowMinMaxButtonsHint  //显示最小化按钮和最大化按钮

              //              | Qt::WindowCloseButtonHint  //显示关闭按钮


              );

    w.setWindowTitle(QObject::tr("我的第一个QT程序"));

    w.show();

    return a.exec();

}

 

 参考:

Qt5开发学习总结(三)——窗口部件的使用(QWidget和QDialog)_万般滋味皆生活的博客-CSDN博客_qwidget在qt5哪个模块中

 Qt基本控件-QWidget详解 - 小小木 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值