小编iac*_*opo的帖子

为什么我的"QTimer只能用于以QThread开头的线程"消息,如果我的代码中没有QTimer?

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

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
Run Code Online (Sandbox Code Playgroud)

这对我来说很奇怪,因为我从不在我的代码(或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
Run Code Online (Sandbox Code Playgroud)

主要功能:

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

也许它可能是与QFileSystemWatcher相关的东西(由QFileSystemModel使用),我想......也许它使用了一些QTimer功能.

python multiplatform pyqt4 qtimer

10
推荐指数
1
解决办法
8181
查看次数

如何在PyQt中禁用QTreeView和QFileSystemModel上的双击文件重命名行为?

简单的问题.我想使用F2或Enter进行重命名,然后双击打开文件.

使用self.treeView.doubleClicked.connect(self.doubleclick)我可以在我的self.doubleClick方法中执行操作,但仍然会触发重命名.

该模型不是只读(model.setReadOnly(False)).

python pyqt double-click qtreeview qfilesystemmodel

4
推荐指数
2
解决办法
2591
查看次数

如何在不使用NaN的情况下以“便宜的方式”在matplotlib中绘制中断的水平线(段)?

我必须使用matplotlib库绘制几个“曲线”,每个“曲线”由水平线段(甚至点)组成。

情节的一个随机例子。 标记点可以省略

我用NaNs分隔细分达到了这个目标。这是我的示例(工作)代码:

from pylab import arange, randint, hold, plot, show, nan, ylim, legend

n = 6
L = 25
hold(True)
for i in range(n):
    x = arange(L, dtype=float)  # generates a 1xL array of floats
    m = randint(1, L)
    x[randint(1, L, m)] = nan  # set m values as NaN
    y = [n - i] * len(x)  #  constant y value
    plot(x, y, '.-')

leg = ['data_{}'.format(j+1) for j in range(n)]
legend(leg)
ylim(0, i + 2)
show()
Run Code Online (Sandbox Code Playgroud)

(实际上,我从整数列表开始: …

python plot matplotlib segments

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