QWidget类 简介

QWidget类 简介QWidget 类定义 代表一般的窗口 其他窗口类都是从 QWidget 类继承出来的 继承关系同时继承 QObject 类和 QPaintDevice 类构造函数如下 QWidget QWidget parent 0 Qt WindowFlagsf 0 参数 parent 指向父窗口 如果这个参数为 0 则窗口就成为一个顶级窗口

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

(0)
上一篇 2026年3月17日 下午6:33
下一篇 2026年3月17日 下午6:33


相关推荐

  • ios9中 UIStackView的使用[通俗易懂]

    ios9中 UIStackView的使用

    2022年2月3日
    44
  • sysloader 木马清除方法

    sysloader 木马清除方法准备工具 超级兔子第一 进入安全模式 打开我的电脑 选择菜单栏 工具 文件夹选项 查看 隐藏受保护的操作系统文件 显示所有文件和文件夹 这两个选项选中后确定第二 找到并删除以下文件 C ProgramFiles CommonFiles MicrosoftSha VGX smss exeC WINDOWS system32 Com serv

    2026年3月20日
    3
  • Java 程序员们值得一看的好书推荐

    Java 程序员们值得一看的好书推荐“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提

    2022年6月20日
    32
  • 剑指Offer面试题:6.旋转数组中的最小数字建议收藏

    一题目:旋转数组中的最小数字这道题最直观的解法并不难,从头到尾遍历数组一次,我们就能找出最小的元素。这种思路的时间复杂度显然是O(n)。但是这个思路没有利用输入的旋转数组的特性,肯定达不到面试官的

    2021年12月19日
    37
  • 【MATLAB】极坐标绘图 ( Polar Chart 极坐标图 | MATLAB 绘图问题 1 )

    【MATLAB】极坐标绘图 ( Polar Chart 极坐标图 | MATLAB 绘图问题 1 )PolarChart 极坐标图绘制

    2026年3月19日
    1
  • 服务器php环境搭建教程,PHP服务端环境搭建图文详解

    服务器php环境搭建教程,PHP服务端环境搭建图文详解PHP环境搭建也是一门技术,本文主要为大家分享一篇PHP服务端环境搭建的图文教程,具有很好的参考价值,希望对大家有所帮助。一、PHP服务端环境搭建1.php服务端环境安装套件xampp(apach+mysql+php解释器)F:\MyDoc文件(重要)\DL_学习\download重要资源\apache服务器组件安装此时进入xmapp面板显示成功运行测试本地Apache服务器是否开启:浏览器…

    2022年6月15日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号