python - PyQt4 导致 QThread 错误

标签 python pyqt pyqt4 qthread qtimer

使用 PyQt4 4.8.6 下面的代码会产生错误

QObject::startTimer:QTimer 只能用于以 QThread 启动的线程

当 a 用作 QApplication 的变量时,但如果 cpp(或大多数其他任何东西)用于该变量,则不会产生错误。这是 PyQt4 中的错误还是我遗漏了什么?

#! /usr/bin/env python

# This is only needed for Python v2 but is harmless for Python v3.
import sip
sip.setapi('QVariant', 2)

from PyQt4 import QtGui

#def main():

if __name__ == '__main__':
    import sys

    if len(sys.argv) > 1:
       use_a = False
       print "Don't use a"
    else:
       use_a = True
       print "Use a"

    if use_a:
       a = QtGui.QApplication(sys.argv)
    else:
       cpp = QtGui.QApplication(sys.argv)

    model = QtGui.QStandardItemModel(4,2)
    tableView = QtGui.QTableView()
    tableView.setModel(model)

    tableView.show()
    if use_a:
       sys.exit(a.exec_())
    else:
       sys.exit(cpp.exec_())


#if __name__ == '__main__':
#  main()

最佳答案

这可能不是错误。

当 Python 开始关闭时,对象被垃圾回收的顺序可能无法预测。您看到的错误消息很可能是它的副作用。

这会导致您的应用程序出现真正的问题吗?

如果不是,就适当重命名,忘掉它吧...

关于python - PyQt4 导致 QThread 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995367/

相关文章:

python - 在 HTML <td> 元素中自动换行 Qt Qlabel 文本

python - 使用 multiprocessing.Pool 时出现问题

python - 如何使 QTreeWidget 中的特定列成为整数/ float ,以便用户无法输入任何字母或符号而不是整数/ float ?

python - PyQt5 unicode 翻译 : pylupdate5 outputs escape sequences

Python 立即记录到 PySide 小部件

python - PyQt4:创建返回参数的自定义对话框

python - Theano 矩阵乘法

python - 在 python 中设置 blob 检测参数

python - 添加一个计数器到 Django 管理主页

linux - QClipboard 在 GNU/Linux 下工作很有趣