यह प्रश्न कई अलग-अलग रूपों में कई बार पूछा गया है लेकिन मैंने इसे एक के साथ प्रासंगिक नहीं पाया है मेरा कोड-समाधान।लूपिंग QProgressBar त्रुटि देता है >> QObject :: installEventFilter: किसी भिन्न थ्रेड में ऑब्जेक्ट्स के लिए ईवेंट फ़िल्टर नहीं कर सकता
जब मैं कार्यक्रम चलाने यह पता चलता है
QObject :: installEventFilter: एक अलग धागे में वस्तुओं के लिए घटनाओं फ़िल्टर नहीं कर सकते।
इसके बावजूद कोड प्रारंभ में काम करता है लेकिन थोड़ी देर बाद यह बम और पायथन एक त्रुटि देता है जिसमें यह काम करना बंद कर देता है।
मेरे कोड इस प्रकार है:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from xml.etree import ElementTree as ET
import os , time
class LayoutCreator(QDialog):
def __init__(self , parent=None):
super(LayoutCreator, self).__init__(parent)
self.Cameras_Update()
def Cameras_Update(self): # Get all shots with camera plots and add them to the cameras_tree
busyBar = sqrl_QtTools.BusyBar(text = "Gathering Camera Data") # Looping progress bar
busyBar.start()
# loop through folder structure storing data
busyBar.Kill() # Close looping progress bar
class BusyBar(QThread): # Looping progress bar
def __init__(self, text = ""):
QThread.__init__(self)
self.text = text
self.stop = False
def run(self):
self.proBar = QProgressBar()
self.proBar.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.SplashScreen)
self.proBar.setMinimum(0)
self.proBar.setMaximum(100)
self.proBar.setTextVisible(True)
self.proBar.setFormat(self.text)
self.proBar.setValue(0)
self.proBar.setFixedSize(500 , 50)
self.proBar.setAlignment(Qt.AlignCenter)
self.proBar.show()
while not self.stop: # keep looping while self is visible
# Loop sending mail
for i in range(100):
progress = self.proBar.value()
progress = progress + 1
self.proBar.setValue(progress)
time.sleep(0.05)
self.proBar.setValue(0)
self.proBar.hide()
def Kill(self):
self.stop = True
धन्यवाद लेकिन मुझे काम करने के लिए आपका उदाहरण नहीं मिल रहा है। क्या आप मुझे उस कोड का उदाहरण दे सकते हैं जिसका उपयोग आप इसे निष्पादित करने के लिए करते हैं क्योंकि मुझे अभी भी त्रुटियां मिल रही हैं? – Jared
@mushu मैंने बाकी कोड को जोड़ा जो मैंने उपयोग किया था। – alexisdm
बहुत बढ़िया। एक आकर्षण की तरह काम करता है, धन्यवाद – Jared