gpt4 book ai didi

python - 如果我的代码中没有 QTimer,为什么我会收到 "QTimer can only be used with threads started with QThread"消息?

转载 作者:太空狗 更新时间:2023-10-29 18:26:42 27 4
gpt4 key购买 nike

当(且仅当)我退出我的应用程序时,这些(且仅这些)重复消息出现在命令提示符上:

QObject::startTimer: QTimer can only be used with threads started with QThread
QObject::startTimer: QTimer can only be used with threads started with QThread
QObject::startTimer: QTimer can only be used with threads started with QThread

这对我来说很奇怪,因为我从不在我的代码(或 QThread)中使用 QTimer。事实上,使用该应用程序不会发生任何错误或崩溃,所以这实际上不是真正的问题。这在 Windows 和 Linux 操作系统中都会发生。

我所有的导入:

from __future__ import print_function
from PyQt4.QtGui import (QApplication, QMainWindow,
QFileSystemModel, QTreeView, QTableView,
QAbstractItemView, QMenu, QAction, QKeyEvent)
from PyQt4.QtCore import QDir, Qt, SIGNAL, QString, QFileInfo, QCoreApplication
import sys

主要功能:

def main():
app = QApplication(sys.argv)
app.setApplicationName("QFM")
app.setStyle("plastique")
gui = MainWindow()
gui.show()
app.exec_()

也许它可能与 QFileSystemWatcher(由 QFileSystemModel 使用)有关,我猜......也许它使用了一些 QTimer 功能。

最佳答案

我过去也遇到过类似的问题。

QFileSystemModel documentation page说如下:

QFileSystemModel.__init__ (self, QObject parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a file system model with the given parent.

如果您不传递 parent 参数,则 Python 垃圾收集器可能会在错误的时间删除该对象,并作为副作用引发您提到的错误。我的建议是确保你的对象有一个合适的父对象。我认为它应该可以解决问题。

PS:我没有检查您使用的每个类的文档。也许 QFileSystemModel 不是发生这种情况的唯一类。

关于python - 如果我的代码中没有 QTimer,为什么我会收到 "QTimer can only be used with threads started with QThread"消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com