我有一个显示QGraphicsPixmapItem的简单场景。我从QThread定期更新它的内容。第一次更新时,它会正确显示。然而,第二次出现时,图像消失了。知道为什么吗? import numpy as np
from PyQt5.QtCore import QThread
from PyQt5.QtGui import QImage, QPixmap
from PyQt5.QtWidgets import QApplication, QGraphicsPixmapItem, QGraphicsScene, QGraphicsView, QMainWindow
import sys
ap
我试图在PyQT图形用户界面中实现线程,但遇到了问题。一些背景,我有一个独立的脚本,卸载一些软件,删除一些文件夹,然后重新安装一个较新的构建。我使用线程模块删除文件夹,为每个文件夹旋转一个新线程。有几个文件夹很大,花费了一些时间,所以我会迭代单独的线程,但跳过较大的文件夹并连接线程:
thread = threading.Thread(name=portalDirToDelete,target=deleteFolder,args=(portalDirToDelete,))
thread.start()
....
for thread in threading.e
固定了这个问题已经通过将QApplication移出main()来解决。
嗨,我正在尝试实现一个web服务,它执行给定的JavaScript代码并返回最终的HTML。我将PyQt4用于JS处理和Django 1.4 web框架。问题是:脚本总是在命令invite中工作,但是当我将它集成到Django时,它只在运行Django本地服务器之后第一次工作,然后在执行以下命令时发出警告:
WARNING: QApplication was not created in the main() thread
QObject::startTimer: QTimer can only be used with
我想在Tk.mainloop()运行时执行一些代码,所以我认为我需要线程模块。
我尝试将Tk.mainloop()放在一个线程类的run方法中,然后将我想要运行的代码放在另一个线程中。
from threading import Thread
import tkinter as tk
class MyThread(Thread):
def __init__(self):
Thread.__init__(self)
def run():
# window is tk.Tk()
window.mainloop()
class M
我使用继承IEnumerable的类来检索DataType的集合。
class DataCollector : IEnumerable<DataType>
{
public IEnumerator<DataType> GetEnumerator()
{
// this takes from 5 to 20 seconds,
// so I want it to run in a background thread.
}
}
现在,DataType非常简单,只有一个名称和值属性。
在我的ViewModel:
pri
我正在尝试用PyQt5创建一个图形用户界面应用程序,它可以连续地从远程图形用户界面接收数据,并使用pyqtgraph绘制动画。我使用Python套接字模块来连接和传输数据。我为GUI和连接使用了多线程。 GUI和数据接收工作正常,但在处理接收到的数据进行绘图时,Qtimer不会调用制作动画的方法。 import sys
import time
from PyQt5 import QtCore, QtGui, QtWidgets, uic
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import lo
我使用PYQT5来构建GUI,使用APScheduler来管理我想要运行的作业。我将调度器项和计时器项分解到自己的类中,然后将它们连接到主文件中。
我遇到的问题是,一旦计时器完成了一个周期,我尝试向Timer类添加时间,并在调度程序应该再次运行之前重新启动它以进行下一次计数。我收到了两个错误或警告,我不知道如何修复它们。它们是:
QObject::killTimer: Timers cannot be stopped from another thread
QObject::startTimer: Timers cannot be started from another thread
一旦这
我正在用PyQt5创建窗口应用程序,我希望在后台解析来自XML文件的数据并将其发送到二等类。我想使用带队列的线程来处理它们之间的关系。当我想显示窗口应用程序时,我看到的是黑色窗口。如果使用python线程会很好,但是我尝试在QThread上完成它,但是它不太工作,为什么……这是代码示例
import queue
import sys
import threading
from PyQt5.QtCore import QThread, pyqtSignal, pyqtSlot
from PyQt5.QtWidgets import *
class Test_generator:
d
我有一个主要的过程,做一些事情(例如,分析数据),它单独运行很好。我还想制作一个简单的GUI,使用PyQT5显示主要任务的结果。其思想是GUI不应该干扰主进程,也就是说,如果我删除GUI,它不应该对主进程造成任何问题。
主要过程的代码非常简单:
if __name__ == '__main__':
# initialize the object that performs the main task
tasker = Task()
# the graphical interface to visualize the result of tasker
我有一个python控制台脚本,我想添加一个基本状态窗口,所以在不了解pyqt的情况下,我添加了一个窗口。如果我从我的主线程启动pyqt,它会阻塞所有其他线程,所以我从另一个线程启动它。它已经像这样运行了几个月了,但是我注意到了一个警告(不知道我之前是怎么错过它的):WARNING: QApplication was not created in the main() thread.,我想知道这可能会导致什么问题。
这是我正在使用的代码的精简版本,只是更新窗口标题栏:
from PyQt4 import QtGui, QtCore
import threading
import sys
fro
我有一些简单的代码,可以用google.com库加载PyQt4。
这是代码:
import sys
from PyQt4.QtGui import QApplication
from PyQt4.QtCore import QUrl
from PyQt4.QtWebKit import QWebView
class Browser(QWebView):
def __init__(self):
QWebView.__init__(self)
self.loadFinished.connect(self._result_available)
de