吉 安

简单粗暴

  • 主页
  • 认识
  • 编程
  • 问题
  • 工具
  • 想法
所有文章 友链 关于我

吉 安

简单粗暴

  • 主页
  • 认识
  • 编程
  • 问题
  • 工具
  • 想法

QWebEngineView最小化后缩略图显示空白

2020-07-20

问题现象

最小化之后,缩略图里的 qtwebengine 显示空白。

不显示

问题分析

1.确认是否是 qtwebengine 特有问题

测试分析 QWidget 是正常的,但是 QWebengineView 最小化之后,缩略图里不显示。
结论:qtwebengine 特有问题。

2.确认 QWidget 与 QWebengineView 区别

查看代码 QWebengineView 继承于 QWidget,并且对其 hideEvent 方法重写。

1
2
3
4
5
void QWebEngineView::hideEvent(QHideEvent *event)
{
QWidget::hideEvent(event);
page()->d_ptr->wasHidden();
}

既然 QWidget 正常,怀疑是 page()->d_ptr->wasHidden();所致。
所以进行以下测试,在 demo 中再次定义 MyWebview 类,继承 QWebengineView,重写 hideEvent。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef MYWEBVIEW_H
#define MYWEBVIEW_H

#include <QWebEngineView>
#include <QWebEnginePage>

class MyWebView : public QWebEngineView
{
Q_OBJECT
public:
MyWebView(QWidget *parent = nullptr) : QWebEngineView(parent){ }

protected:
void hideEvent(QHideEvent *e) {QWidget::hideEvent(e);}

};

#endif // MYWEBVIEW_H

发现能够规避问题。
结论:page()->d_ptr->wasHidden();导致问题。

3.深挖page()->d_ptr->wasHidden();

最后调用的是m_webContents->WasHidden();。
WasShown/WasHidden是用来控制在屏幕上能否可见,qtwebengine直接调用了WasHidden自然是不可见了。
参考这个说明,貌似开始捕捉时会通过WebContents::should_normally_be_visible()来阻止WebContents::WasHidden。
结论:qtwebengine 没有这个机制。

问题解决

重写 hideEvent 方法规避。

赏

谢谢你请我吃糖果

支付宝
微信
  • 问题
  • qt

扫一扫,分享到微信

微信分享二维码
debian系linux安装软件
Hexo无法解析Markdown表格
© 2022 吉 安
访客量:25277
  • 所有文章
  • 友链
  • 关于我

tag:

  • 问题
  • qt
  • 工具
  • 编码
  • 音视频
  • 一些认识
  • 进程
  • 想法
  • c-cpp
  • 内存

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • pcm与opus互转

    2022-02-23

    #编码#音视频

  • 初识音视频

    2021-10-09

    #音视频#一些认识

  • 认识GRUB

    2021-01-14

    #工具#一些认识

  • 关于IT女性

    2020-10-30

    #想法

  • 认识selinux

    2020-10-15

    #工具#一些认识

  • 认识firewalld

    2020-10-12

    #工具#一些认识

  • 认识audit

    2020-10-10

    #工具#一些认识

  • 简单讲讲deb打包

    2020-08-18

    #工具

  • debian系linux安装软件

    2020-08-17

    #工具

  • QWebEngineView最小化后缩略图显示空白

    2020-07-20

    #问题#qt

  • Hexo无法解析Markdown表格

    2020-07-02

    #问题

  • 认识chromuim

    2020-07-02

    #一些认识

  • 初识QtWebEngine

    2020-06-28

    #qt#编码#c-cpp

  • 内存的使用

    2020-06-04

    #编码#c-cpp#内存

  • 认识各种内存地址

    2020-06-02

    #一些认识#内存

  • 进程的限制之ulimit

    2020-05-07

    #工具#进程

  • 认识/proc/[pid]/

    2020-05-06

    #一些认识#进程

  • 进程的查看工具

    2020-05-06

    #工具#进程

  • 认识进程

    2020-04-29

    #一些认识#进程

  • 认识多处理器架构

    2020-04-17

    #一些认识

  • 认识x11

    2020-04-16

    #一些认识

  • 进程调试工具strace

    2020-04-15

    #工具#进程

  • 小黄同学
猛男!