paintEvent(QPaintEvent *e)函数参数使用问题

2023-11-18

paintEvent(QPaintEvent *e)函数参数使用问题

自己重载paint Event()函数时是不用使用参数的,但是为了保证系统调用自己写的重载函数必须自己写的重载函数和系统的函数完全一样,所以必须这么写

void XVideoWidget::paintEvent(QPaintEvent *e)
{

    QPainter p;
        p.begin(this);
        p.drawImage(QRect(0,0,img.width(),img.height()), img);
        p.end();

}

当发生一下情况时会产生绘制事件并调用paintEvent()函数:

1.在窗口部件第一次显示时,系统会自动产生一个绘图事件,从而强制绘制这个窗口部件。

2.当重新调整窗口部件的大小时,系统也会产生一个绘制事件。

3.当窗口部件被其他窗口部件遮挡,然后又再次显示出来的时候,就会对那些隐藏的区域产生一个绘制事件。

同时可以调用QWidget::update()或者QWidget::repaint()来强制产生一个绘制事件。二者的区别是:

repaint()函数会强制产生一个即时的重绘事件,而update()函数只是在Qt下一次处理事件时才调用一次绘制事件。

如果多次调用update(),Qt会把连续多次的绘制事件压缩成一个单一的绘制事件,这样可避免闪烁现象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

paintEvent(QPaintEvent *e)函数参数使用问题 的相关文章

  • 在 QtCreator 中查看数组内容

    调试时是否可以在 Qt Creator 中查看数组的内容 似乎检测到我的数组是一个数组而不是一个指针 此外 我可以点击一个箭头 就像展开一样 但之后什么也没有显示 当我试穿的时候std vector Qt Creator 设法按预期显示内容
  • 如何使用 Qt Test 控制 QFileDialog?

    我有两个问题 我怎样才能访问QFileDialog并使用 Qt Test 模块在 文件名 字段中写入文件的路径 我这么问是因为我正在 Qt 中开发一些 GUI 测试 现在我需要打开一个文本文件 以下代码创建QFileDialog并获取文件路
  • 删除 QComboBox“下拉”动画

    我正在使用 Qt 4 8 并且想在单击 QComboBox 时摆脱 下拉 动画 我也想稍微移动一下 到目前为止 我一直在考虑重新实现 showPopup 和 hidePopup 但不知道如何使其工作 此外 每次我尝试使用 CSS 进行移动或
  • 将项目添加到自定义组件的布局

    我有一个习惯Footer Component我想在 QML 应用程序的不同位置重用它 Rectangle color gold height 50 anchors bottom parent bottom left parent left
  • Qt + win32 + mingw 上的原生 Windows API 链接问题

    我正在尝试使用 mingw 工具集将本机 Windows API 与 Qt 结合使用 部分功能存在链接问题 会发生什么 这是 mingw 名称修改的错误吗 ifdef Q WS WIN HWND hwnd QWidget winId HDC
  • QT 应用程序运行时错误?

    我已经在 Windows 7 的 Qt5 1 上开发了一个应用程序 现在我想分发它 由于我使用了 MINGW 编译器 因此无法静态构建它 我使用dependency walker找出所有dll并打包 当我在未安装 QT 开发环境的计算机上运
  • 检查目录是否为空

    我正在尝试检查目录是否为空 MainWindow MainWindow QWidget parent QMainWindow parent ui new Ui MainWindow ui gt setupUi this QDir Dir h
  • QToolBar 的菜单延迟

    我通过制作 QAction 并向其添加 QMenu 在 QToolBar 上有一个菜单 如何消除单击图标时出现菜单之前的延迟 QToolBar myToolBar new QToolBar this QAction myAction new
  • [本机]:在Qt for Android中使用Java函数和第3方库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近我用qt写了一个android应用程序 但我有一个很大的问题 我可以使用 调用一些原生的android API 比如调用特殊的activit
  • Qt GUI 编程设计

    我正在尝试创建一个 GUI 应用程序 主窗口 一个QMainWindow 包含 9 个固定大小的标签以及主窗口的大小 我尝试在没有 Qt GUI Designer 的情况下以编程方式制作它 该项目构建时没有错误 但我看不到主窗口上显示的任何
  • 安装多个版本的 Qt 库

    我在windows中安装了QtSDK 它的Qt库版本是4 7 0 现在我想为 mingw 和 VS2008 安装 Qt 库版本 4 8 2 我怎样才能做到这一点 如何向QtCreator引入多个版本 注意 我已经从以下位置下载了库http
  • 如何将图标放置到 QLineEdit 上?

    stackoverflow com 网站的右上角有一个带有放大镜头的搜索字段和一个灰色的 搜索 关键字 我想知道是否有可能实现相同的外观QLineEdit 如果是这样那怎么办 QLineEdit lineEdit new QLineEdit
  • MAC 上的 QT/C++ - 未设置应用程序图标

    我正在努力解决的奇怪问题 在与我的 pro QT 项目文件相同的文件夹中 我有一个 Resources myIcon png 我试图将其设置为我构建的应用程序的图标 在 OSX 上运行 我阅读了文档 它建议在 pro 文件中添加 ICON
  • 仅将非模态 QDialog 窗口放置在我的应用程序顶部,而不是所有应用程序顶部

    我有一个 QDialog 窗口 它应该始终位于我的应用程序顶部 它不是模态的 用户可以随时与对话框和主应用程序进行交互 使用窗口保持在顶部提示在某种程度上实现了这一点 但是 该对话框仍然位于所有其他正在运行的应用程序 例如记事本 chrom
  • 当 QML 对象不可见时防止 QML 属性绑定?

    我正在开发一个具有大量属性绑定的 QML 应用程序 数百个对象被跟踪并以不同的形式显示 例如 Qt3D QCanvas 当我在应用程序的单独页面上时 x y 位置和相对大小的属性绑定仍在发生 我怎样才能阻止他们 我知道我可以根据属性是否可视
  • 如何创建QWidget的屏幕截图?

    我在 Qt Creator 中做作业 在其中绘制 QWidget 并且需要保存此 QWdiget 的某些部分 我试图解决这个问题 QPixmap pixmap pixmap copy rectangle rectangle is part
  • Qt:将拖放委托给子级的最佳方式

    我在 QWidget 上使用拖放 我重新实现了 DragEnterEvent dragLeaveEvent dragMoveEvent 和 dropEvent 效果很好 在我的 QWidget 中 我有其他 QWidget 子级 我希望它们
  • GoQt 致命错误:QAbstractAnimation:没有这样的文件或目录

    我尝试编译 Qt 来开发桌面应用程序 我按照 Qt 网站上的官方 wiki 指南的说明进行操作 当我尝试go run示例文件夹中的示例 我收到错误 去运行 home pinkya rabbit workspace go1programs s
  • QTcpSocket 有时不发送数据

    我有两个 QT 应用程序 一个应用程序可以被认为保存了大数据 它每秒向第二个应用程序发送大约 10 KB 的数据块 之前我尝试使用QUdpSocket来传输数据 但由于MTU限制在2 5K左右 并且需要自己分割和重新组合数据 所以我改用QT
  • QTextEdit.find() 在 Python 中不起作用

    演示问题的简单代码 usr bin env python import sys from PyQt4 QtCore import QObject SIGNAL from PyQt4 QtGui import QApplication QTe

随机推荐

  • 关于实体类中多层嵌套集合,用mybatis的collection标签可以快速实现

    一 首先分析需求在有三个实体类的情况下 好比user类 Student YearClass类 结构如下 最外层类 public class user private String name private String age privat
  • png文件格式详解【转】

    5 2 2 PNG图像文件存储结构 1 PNG文件存储结构的格式可以在http www w3 org TR REC png htm上找到定义 BMP文件总体上由两部分组成 分别是PNG文件标志和数据块 chunks 如表5 8所示 其中数据
  • Spring Boot使用AOP实现拦截器

    Spring Boot 专栏 https blog csdn net dkbnull category 9278145 html Spring Cloud 专栏 https blog csdn net dkbnull category 92
  • 简单介绍 os.path 模块常用方法

    来源 Python之禅 os path 在python中也算是一个常用的模块 特别是和文件系统打交道时 涉及到文件 目录操作经常会用到 你去看一些框架的源代码的时候也经常会使用到这些方法 如果去看官方文档 os path 大概提供了近20个
  • Android使用Thread.UncaughtExceptionHandler捕获/分析异常信息

    Thread中提供了一个UncaughtExceptionHandler接口能够获取应用的crash信息 该方法设置系统的默认异常处理器 发生crash的时候 系统就会回调UncaughtExceptionHandler的uncaughtE
  • pycharm翻译插件失效解决方法

    pycharm翻译插件失效解决方法 习惯用pycharm写程序的应该都知道一个翻译插件 Translation 可是最近发现翻译用不了了 我就开始着手探究解决这个问题 原因 经过四处打寻 判定谷歌2022年9月26日左右停止了在中国地区的谷
  • Docker修改,保存与新建

    https zhuanlan zhihu com p 57311853 https www runoob com w3cnote docker use container create image html
  • ES6迭代器、Set、Map集合和async异步函数

    目录 迭代器 Iterator 的作用 Iterator 的遍历过程 Set Map集合 map和对象区别 async异步函数 迭代器 迭代器 Iterator 就是这样一种机制 它是一种接口 为各种不同的数据结构提供统一的访问机制 任何数
  • nginx设置成服务并开机自动启动

    在 etc init d下创建文件nginx vim etc init d nginx 其内容参考nginx官方文档 需要注意的配置 nginx usr local nginx sbin nginx 修改成nginx执行程序的路径 NGIN
  • python求解一阶线性偏微分方程通解举例

    python求解一阶线性偏微分方程的通解举例 Python求解偏微分方程也是其一个应用方面 下面举例说明 一 问题 求一阶线性偏微分方程 x f x
  • C#处理JSON

    C 中总共有两种方式处理JSON 第一种 右击项目 gt 添加 gt 引用 这里重点介绍第二种方式 第二种 使用NuGet包 对没错 是Json Net 需要引入的命名空间是 这种方式直接使用工具 不需要进行new 生成JSON文件 对于序
  • Flutter保存和加密数据

    你有没有想过它是如何在手机上处理数据的 让我们一起加密任何文件或模型 我们将要做的 首先 我们谈论使用Flutter的加密 接下来 我们将创建一个文件管理器来保存数据 稍后做加密和解密pdf文件 最后 使用您自己的模型保存加密的pdf 完成
  • 使用Rational Rose进行用例图和活动图

    ROSE用例 ppt 下载地址 http download csdn net download yhyhelene 2949626 一 基于UML的用例模型实验 1 用例图 用例图描述的是参与者 Actor 所理解的系统功能 用于需求分析阶
  • 光立方软件部分

    单片机选用 STC12C5A60S2 x1 数据锁存器 74HC573 x8 简介https blog csdn net qq 43033547 article details 88910276 达林顿晶体管阵列 ULN2803 x1 简介
  • 智能交通的深度学习综述-基于图卷积神网络

    文章目录 Abstract and Introduction Related Work Problems Research directions Challenges Problems formulation and Graph const
  • 课时 17 自测题

    以下说法错误的是 单选题 A etcd 适合存储频繁变化的数据 B etcd 使用 go 语言编写 C etcd 是一个分布式系统 通常由多个 server 组成一个集群 etcd 满足了 CAP 原理中的哪些特性 单选题 A CA B C
  • vue判断上传的文件是否为xls或xlsx

    isexcel file const isXlS file type application vnd openxmlformats officedocument spreadsheetml sheet file type applicati
  • 河道水库测量用雷达水位计的特点

    雷达水位计是一款高精度且具有水面波动滤波处理的地表水水位测量 雨量监测系统 它采用喇叭天线的设计 降低功耗 宽范围的输入电压 专门设计于适合野外无人值守的野外自动站应用 测量不受大气温度 压力 空气密度 风 降水 相对湿度的影响 具有很高的
  • 【web安全】——XXE漏洞快速入门

    作者名 Demo不是emo 主页面链接 主页传送门创作初心 一切为了她座右铭 不要让时代的悲哀成为你的悲哀专研方向 网络安全 数据结构 每日emo 该怎么开口呢 今晚天气不错 但还是想你了 目录 一 初识XXE漏洞 1 XXE简介 2 XM
  • paintEvent(QPaintEvent *e)函数参数使用问题

    paintEvent QPaintEvent e 函数参数使用问题 自己重载paint Event 函数时是不用使用参数的 但是为了保证系统调用自己写的重载函数必须自己写的重载函数和系统的函数完全一样 所以必须这么写 void XVideo