QWidget 类
定义:代表一般的窗口,其他窗口类都是从 QWidget 类继承出来的。
继承关系
同时继承:QObject 类 和 QPaintDevice类
构造函数如下
// 其它方法 setWindowFlags(Qt::WindowCloseButtonHint | Qt::WindowStaysOnTopHint);//设置只有关闭按钮且置顶
常用函数
几何参数
//移动至左上角,固定长200,高500 setFixedSize(200,500); move(0,0);
窗口可见
窗口状态
使能状态的窗口
激活状态
当有多个独立窗口同时存在时,只有一个窗口能够处于激活状态。系统产生的键盘、鼠标等输入事件将被发送给处于激活状态的窗口。一般来说,这样的窗口会被提升到堆叠层次的最上面,除非其他窗口有总在最上面的属性。与激活状态相关的成员函数如下:
焦点
焦点用来控制同一个独立窗口内哪一个部件可以接受键盘事件,同一时刻只能有一个部件获得焦点。与焦点有关的成员函数如下:
setFocus 函数同时又是一个槽。窗口部件得到焦点以后,别忘了还需要它所在的独立窗口处于激活状态才能得到键盘事件。
捕获键盘和鼠标事件
窗口部件即使获得焦点,也不一定能获得按键事件,因为其他窗口可能会捕获键盘事件。捕获了键盘事件的窗口将得到所有键盘事件,而其他窗口将完全得到不到键盘事件,直到捕获了键盘事件的窗口释放键盘事件。与键盘事件捕获相关的成员函数如下:
类似的还有鼠标事件的捕获和释放,其成员函数如下:
布局
属性 layout 代表窗口的顶级布局,相关的成员函数如下:
字体
font 属性表示所用的字体,相关的成员函数如下:
void destoryed(QObject *obj = 0);
bool close();
事件
QWidget 类能够处理类型丰富的事件,这里将介绍一些常用的事件处理函数。
窗口事件:
这里通过 QMoveEvent 类的以下成员函数可以获得窗口的旧坐标和新坐标:
通过 QResizeEvent 类的以下成员函数可以获得窗口的旧大小和新大小:
键盘事件:
这里通过 QKeyEvent 类的成员函数可以获得关于按键的一些信息,如:
int key() const; // 得到键值
鼠标事件:
这里通过 QMouseEvent 事件的成员函数可获得关于鼠标的信息,如:
焦点事件:
这些事件处理函数都没有返回值,因此如果要接受或拒绝和一个事件要调用 QEvent 类的成员函数,如:
事件被拒绝后的结果视具体情况而定,比如关闭事件被拒绝后,窗口将不会被关闭,而键盘、鼠标等输入事件被拒绝后会向上传播到父窗口。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221256.html原文链接:https://javaforall.net
