当前位置: 首页 > news >正文

pyqtgraph.opengl.items.GLSurfacePlotItem.GLSurfacePlotItem 报了一个错

1. 需求是这个样子的

        有一个 pyqtgraph.opengl.GLViewWidget ,在应用启动时存在QMainWindow中,即父对象是QMainWindow,当业务需要时,修改它的父对象变为一个QDialog,可以让它从QMainWindow中弹出显示在QDialog里,继而可以全屏显示。

        不知道我说清楚了吗?T_T

 2. 问题来了

        在创建QDialog,将GLViewWidget移动至QDialog后,报错显示如下:

3. 解决问题

        首先,搜索问题找到GitHub上的帖子,指出原因是QOpenGLWidget不能属于两个窗口。需要设置:

QApplication.setAttribute(Qt.AA_ShareOpenGLContexts)

这句是PyQt的代码???而我是PySide6。

帖子: https://github.com/pyqtgraph/pyqtgraph/issues/2900

于是,我在程序开始时加上了这一句。

    app = QApplication(sys.argv)
    QApplication.setAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts)

        然后,再次执行的时候,确实不报错了,但是弹出的QDialog里面有两个GLViewWidget,一个正向,一个倒向,画面错乱,不可用。

        最后,翻看Qt Assistant里对 Qt::AA_ShareOpenGLContexts 的说明:

Enables resource sharing between the OpenGL contexts used by classes like QOpenGLWidget and QQuickWidget. This allows sharing OpenGL resources, like textures, between QOpenGLWidget instances that belong to different top-level windows. This attribute must be set before QGuiApplication is constructed. This value was added in Qt 5.4.

        这里说到“This attribute must be set before QGuiApplication is constructed.” 所以这个属性的设置应该放在App构建之前。

        修改如下:

    QApplication.setAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts)
    app = QApplication(sys.argv)

        嗯嗯,好了,不报错了~~~

相关文章:

  • 头歌数据库【数据库概论】第10-11章 故障恢复与并发控制
  • 文件上传、读取与包含漏洞解析及防御实战
  • 原创工具scoopex - scoop增强工具,提供github proxy和url净化功能
  • C++ 蓝桥云课代码练习
  • 基于springboot钻孔数据管理系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 安装 Calico 的两种主流方式对比
  • 21 天 Python 计划:MySQL视图、触发器、存储过程、函数与流程控制
  • 创建两个进程
  • P9241 [蓝桥杯 2023 省 B] 飞机降落(dfs)
  • 售货机管理系统:智慧零售时代的运营新引擎
  • Android开发鸿蒙环境问题记录
  • LangChain4j实现rag
  • SQL解析器:实现进阶功能
  • IAR推动嵌入式开发:云就绪、可扩展的CI/CD和可持续自动化
  • 青少年编程考试 CCF GESP Python七级认证真题 2025年3月
  • CCF GESP Python编程 四级认证真题 2025年3月
  • ngx_array_create
  • python之安装PaddlePaddle和PaddleX解析pdf表格
  • WPF轮播图动画交互 动画缩放展示图片
  • Leetcode 跳跃游戏 II (贪心算法)
  • 宁波 网站建设/日本进口yamawa
  • 互联网公司网站建设/长沙seo霜天博客
  • 设计高端网站/创建网站教程
  • 凡科做的网站怎么改壁纸/第三方关键词优化排名
  • 程序员做网站给女朋友/长尾关键词排名推广
  • 西安做网站哪家好/营销广告文案