小编Joh*_*y J的帖子

关闭应用程序时,错误"QObject :: startTimer:QTimer只能与QThread启动的线程一起使用"很多次

我知道以前曾多次询问过这个问题.我阅读了所有这些主题,我的情况似乎有所不同.遇到这种麻烦的每个人都有一些直截了当的原因,我认为我已经排除了这些原因,例如:

  • 启动没有事件循环运行的计时器
  • 从创建计时器之外的线程启动/停止计时器
  • 未能设置窗口小部件的父属性,导致销毁顺序出现问题

下面我有一个演示问题的最小代码示例.请注意,我没有启动任何线程或计时器.我还设置了每个小部件的父级.如果我删除了图形窗口小部件,问题就会消失,所以人们很想责怪pyQtGraph,但是,如果我包含了绘图窗口小部件但排除了所有空白选项卡(即除了tabCatchaTiger之外的每个选项卡),问题也会消失,那就是似乎证明了pyQtGraph.

版本:

  • Windows 7的
  • Python 2.7.8
  • Wing IDE 5.0.9-1
  • PyQt 4.11.1
  • PyQwt 5.2.1
  • PyQtGraph 0.9.8

测试用例:

from PyQt4 import Qt, QtGui, QtCore
import PyQt4.Qwt5 as Qwt
import pyqtgraph as pg

pg.functions.USE_WEAVE = False # Lets pyqtgraph plot without gcc

pg.setConfigOption('background', 'w')
pg.setConfigOption('foreground', 'k')

# GUI for visualizing data from database
class crashyGUI(QtGui.QWidget) :

    def __init__(self) :
        # Make the window
        QtGui.QWidget.__init__(self)
        self.resize(700, QtGui.QDesktopWidget().screenGeometry(self).height()*.85)
        self.setWindowTitle('Data Visualization')

        # Create tab interface
        tabWidget = QtGui.QTabWidget(self)

        # define the tab …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt pyqtgraph

5
推荐指数
3
解决办法
1万
查看次数

标签 统计

pyqt ×1

pyqtgraph ×1

python ×1

qt ×1