PyQt:运行时错误:包装的 C/C++ 对象已被删除

2024-03-09

如果我运行这段代码:

    #!/usr/local/bin/    python3

import sys 
from PyQt4.QtCore import *
from PyQt4.QtGui import *


class Window(QMainWindow):

    def __init__(self):
        super().__init__()
        self.button1 = QPushButton("1")
        self.button2 = QPushButton("2")
        self.setCentralWidget(self.button1)
        self.button1.clicked.connect(lambda: self.setCentralWidget(self.button2))
        self.button2.clicked.connect(lambda: self.setCentralWidget(self.button1))
        self.show()

if __name__ == '__main__':

    import sys 
    app = QApplication(sys.argv)
    window = Window()
    sys.exit(app.exec_())

...我得到这个输出:

Traceback (most recent call last):
  File "test.py", line 16, in <lambda>
    self.button2.clicked.connect(lambda: self.setCentralWidget(self.button1))
RuntimeError: wrapped C/C++ object of type QPushButton has been deleted

我不明白为什么该对象被删除。窗口应该维护对它的引用。 我已经彻底调查了这些帖子:了解“底层 C/C++ 对象已被删除”错误 https://stackoverflow.com/questions/6002895/understanding-the-underlying-c-c-object-has-been-deleted-error 是否可以查询 PyQt4 QObject 以确定底层 C++ 实例是否已被销毁? https://stackoverflow.com/questions/5122451/can-a-pyqt4-qobject-be-queried-to-determine-if-the-underlying-c-instance-has-b?rq=1

为什么按钮被删除?


这个问题的答案可以在这里找到:Python PySide(内部 c++ 对象已删除) https://stackoverflow.com/questions/5339062/python-pyside-internal-c-object-already-deleted

显然,使用 setCentralWidget 将一个小部件分配给 QMainWindow,然后使用 setCentralWidget 分配另一个小部件将导致底层 C++ QWidget 被删除,即使我有一个维护对其引用的对象。

注意:QMainWindow 获得小部件指针的所有权并在适当的时间将其删除。

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

PyQt:运行时错误:包装的 C/C++ 对象已被删除 的相关文章

  • 垃圾收集保证

    垃圾收集器有什么保证 从我的研究中我设法发现 如果仍然存在对内存的引用 则不会被垃圾收集 If there is no reference 当GC是不确定的 当 GC 启动时 终结器将在内存释放之前运行 无法保证终结器的顺序 因此不要假设父
  • PyQt 自动调整 qlineedit 字符间距

    我有一个 qlineedit 用户在其中输入验证码 我希望能够每隔 5 个字符自动间隔这些数字 就像激活自动添加破折号的窗口时一样 例如 12345 67890 12345 67890 如果位数是固定的 最好的选择是使用setInputMa
  • JavaScript Blob 对象何时被垃圾回收?

    在现代浏览器中 可以将大对象分配为Blob 然后通过 URL 请求访问它 此 URL 将在浏览器的其他位置提供存储的对象 例如图像的数据 浏览器如何知道何时不再需要这个 URL 以及相应的Blob数据可以免费被垃圾收集吗 浏览器最终将清除该
  • 如何在 QScrollArea() 之上显示 QPropertyAnimation()?

    1 Intro 我工作于Python 3 7在 Windows 10 上并使用PyQt5对于图形用户界面 在我的申请中 我得到了一个QScrollArea 里面有一系列按钮 单击时 按钮必须移到该区域之外 我用一个QPropertyAnim
  • 如何在 PyQt 应用程序退出时禁用清除剪贴板?

    我有一个简单的 PyQt4 应用程序 请参阅下面的代码 它揭示了一个问题 如果我从QLineEdit并将其复制到剪贴板 然后我只能在应用程序运行时将其粘贴到另一个应用程序 似乎在退出时 PyQt 应用程序会清除剪贴板 因此我无法在应用程序关
  • 流畅的界面是否会显着影响 .NET 应用程序的运行时性能?

    我目前正忙于为现有技术实现一个流畅的接口 这将允许类似于以下代码片段的代码 using var directory Open Directory path to some directory using var file Open File
  • 将 QStringList (PyQt) 转换为普通的 Python 列表

    我想获取 qstringlist 中的每个元素并从列表中获取原始数据 而不是 pyqt 将其存储为的任何数据 def find self self foundFileList setRowCount 0 fileName self inpu
  • 如何使 QTreeWidget 中的特定列成为整数/浮点数,以便用户无法输入任何字母或符号而不是整数/浮点数?

    我正在 PyQt5 中使用 QTreeWidget 制作 GUI 我希望特定列仅是整数列 用户不应该能够在其中输入任何非整数项 我看到了一些使用 QVariant 的方法 但它似乎不能满足我的要求 这就是我的found https stac
  • 获取 QComboBox 的所有项目 - PyQt4 (Python)

    我有很多QComboBoxes 在某个时刻 我需要获取特定的每个项目QComboBox迭代 虽然我只能有一个与中的项目相对应的项目列表QComboBox 我宁愿直接从小部件本身获取它们 有大量的QComboBoxes每个都有很多项目 有没有
  • 如何设置 QTableView 中特定单元格的线条样式?

    我正在使用 QT GUI 我正在使用 QTableView 实现一个简单的十六进制编辑控件 我最初的想法是使用一个有十七列的表格 表的每一行都有 16 个十六进制字节 然后在第十七列中显示该数据的 ASCII 表示形式 理想情况下 我想编辑
  • PyQt MainWindow 在 Windows 上使用多处理

    我尝试创建一个PyQt应用 为了在后台运行进程并保持PyQt5应用程序可用于新指令 我想使用multiprocessing 在 Windows 操作系统上 当我从 Qt 调用函数时MainWindow与 一起上课multiprocessin
  • 如何使 QStyledItemDelegate 的子类在 PySide/PyQt 中的 QListView 中鼠标悬停时正确反应?

    在解决我在前面的问题中提到的问题的过程中 问题1 https stackoverflow com questions 33253745 how to most efficiently implement a pyside qlistview
  • 明确的控制不会处置它们——风险是什么?

    有多个线程 a https stackoverflow com questions 1757116 remove tabpage dispose or clear or both b https stackoverflow com ques
  • Android - GC 滞后于列表视图滚动“更大”的图像

    在列表视图中 我想在列表条目上绘制一个图像 这 20 张图像必须缩放以填充垂直模式的宽度 手机分辨率为 480 x 800 像素 SGS2 图像分辨率为 400x400 大小约为 100KB 我已将图像放在可绘制文件夹中 当我滚动列表时 它
  • QMainWindow::showMaximized() 不更新大小

    我正在尝试创建一个QMainWindow封装一个QGraphicsView我把它放进去 我希望它一开始就最大化 所以我这样做 QMainWindow mainWindow new QMainWindow mainWindow gt setW
  • V8 如何管理它的堆?

    我知道V8的垃圾收集在工作时 会从GC的root开始追踪 这样无法到达的对象就会被标记然后被清除 我的问题是GC是如何遍历那些对象的 必须有一个数据结构来存储所有可达或不可达的对象 位图 链接表 顺便说一句 JVM 也做同样的事情吗 艾伦秀
  • 如何像在浏览器中一样检索准确的 HTML

    我正在使用 Python 脚本来呈现网页并检索其 HTML 它适用于大多数页面 但对于其中一些页面 检索到的 HTML 不完整 我不太明白为什么 这是我用来废弃此页面的脚本 由于某种原因 每个产品的链接不在 HTML 中 Link http
  • PyQt 和 unittest - 测试信号和槽

    我有一个 pyqt 应用程序 正在为其编写单元测试 它严重依赖信号和槽 为了正确测试它 我必须检查是否发送了正确的信号 做这个的最好方式是什么 我看到 Qt 库有一个 QSignalSpy 但我在 PyQt 中找不到任何对此的引用 我能想到
  • QTextEdit.find() 在 Python 中不起作用

    演示问题的简单代码 usr bin env python import sys from PyQt4 QtCore import QObject SIGNAL from PyQt4 QtGui import QApplication QTe
  • 如何编辑 QProgressBar 的样式表

    我无法在我的应用程序中编辑进度条的颜色 仅编辑文本颜色 pyhton 3 9 PySide6 QT Creator 7 0 2 Python应用程序 https i stack imgur com 6hKFI png import sys

随机推荐

  • 条形图的峰度、偏度? - Python

    在Python中确定条形图的倾斜 峰度的有效方法是什么 考虑到条形图没有分箱 与直方图不同 这个问题没有多大意义 但我想做的是确定图的高度与距离 而不是频率与箱 的对称性 换句话说 给定沿距离 x 测量的高度 y 值 即 y 6 18 10
  • 为什么 roxygen2 不会自动更新描述文件中的“导入”?

    我正在努力密切关注 hadley sbook http r pkgs had co nz 学习编写 R 包的最佳实践 我很高兴读到这些关于哲学 http r pkgs had co nz intro html本书内容 任何可以自动化的事情都
  • 如何在 ExpressionVisitor 中计算表达式?

    我需要在执行表达式之前使用 ExpressionVisitor 来分析它 根据我的需要 我需要评估除法表达式的正确部分 但我不知道该怎么做 这是我的示例代码 internal class RulesChecker ExpressionVis
  • 将 PostgreSQL text/bytea 列迁移到大对象?

    我有一个表 10k 行 用于存储大值text柱子 当前最大的未压缩大小为 417 MB 烘烤后为 85 MB 此设计的缺陷是无法传输这些值 例如通过 JDBC 使用此列的任何内容都必须将整个内容读入内存 是否有任何工具或快捷方式可用于将此列
  • 聚合查询中的 Mongodb java 展开操作抛出异常

    使用嵌入式 mongo 文档时 我尝试展开数组 但收到类似 org springframework data mapping model MappingInstantiationException Failed to instantiate
  • Qt Widgets 全屏边距

    我想创建一个程序 以全屏方式加载谷歌 所以我使用全屏方式打开了我的qt程序w showFullScreen 它工作得很好 但是当我添加QWebView并将其设置为centralWidget像这样 但是当我运行该程序时 我在窗口的两侧得到了一
  • UIWindow addSubview 上的偏移量

    我有一个基于 UITabBar 的应用程序 运行得很好 在某些情况下 我会显示不同的 UIViewController 现在让我烦恼的是我必须调整测试笔尖的框架 并且only测试笔尖 才能正确显示 否则视图位于状态栏下方 void appl
  • 制作一个具有我的应用程序透明背景的全屏绘画程序

    我的目标是制作一个小型 PC Windows 程序 它允许我在屏幕顶部进行绘制 并将结果保存为具有透明背景的 png 格式 像这样的软件Epic Pen https epic pen com or gInk https github com
  • print("\t",end='') 语句中 end='' 的含义? [复制]

    这个问题在这里已经有答案了 这是用于打印嵌套列表中所有值的函数 使用 Python 从 Head First 获取 def printall the list level for x in the list if isinstance x
  • 如何在FragmentActivity上设置工具栏?

    我想设置toolbar关于我的活动延伸片段活动 我知道用于使用setSuppoertActionBar toolbar 我们扩展的方法AppCompatActivity代替FragmentActivity但我重写了onMenuItemSel
  • 模型可以“属于”另外两个模型并具有嵌套关系吗?

    一个模型是否可以属于两个模型并具有嵌套关系 即我想要的 class trainer has many appointments end class appointment belong to trainer customer end cla
  • 如何在 Windows 中向 AD 组添加自定义属性?

    我想知道如何编写这个脚本 另外 是否有一个开箱即用的 GUI 工具可以让我做到这一点 您是指扩展 AD 架构时交换添加的 CustomField 属性吗 如果是这样 那么你可以使用ADSIEdit http technet microsof
  • Symfony2 - 自定义错误页面永远不会显示

    我正在尝试自定义 error html twig error403 html twig error404 html twig 和 error500 html twig 到目前为止 我已尝试获取由 a 引起的 error403 html tw
  • RxJava2 - 同步执行调用

    I ve a TestService 我在其中执行异步任务来获取数据 我想等待回复后再继续 public List
  • 使用 fft 查找每个谐波的相位

    我用的是Matlab 我有一个正弦信号 X 放大器 220 频率 50 我添加了 3 个谐波 x1 gt h2 放大器 30 频率 100 相位 30 x2 gt h4 放大器 10 频率 200 相位 50 x3 gt h6 放大器 05
  • 在C中分配浮点指针[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我目前拥有的是一个简单的函数 它基本上只是根据给定的参数指针重新分配指针 但我收到一条错误消息 说我正在使用未初始化的变量之一 这是我所拥有
  • 具有实时示例的设计模式[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想通过实时示例学习设计模式 那么有人可以建议我可以从哪里开始吗 这些经典的设计模式是每个开发人员都应该了解的 因为它有助于我们与其他
  • Xamarin 表单选取器 SelectedItem 绑定

    Xamarin 表单文档Xamarin Forms Picker SelectedItem https developer xamarin com api property Xamarin Forms Picker SelectedItem
  • 使用 PHPhotoLibrary 保存照片时元数据丢失

    我曾经使用 ALAssetLibrary 的 writeImageToSavedPhotosAlbum metadata completionBlock 将照片保存到相机胶卷中 但现在在 iOS 9 0 中已弃用 所以我切换到 PHPhot
  • PyQt:运行时错误:包装的 C/C++ 对象已被删除

    如果我运行这段代码 usr local bin python3 import sys from PyQt4 QtCore import from PyQt4 QtGui import class Window QMainWindow def